Социальные сети Рунета
Четверг, 25 апреля 2024

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 1 В отличие от современных компьютеров, на спектрумах понятия файловой системы не было как такового. Это значит, что загрузка с каждого типа носителя требовала отдельной реализации и в большинстве случаев программу нельзя было просто так скопировать с кассеты на дискету. В слу...

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 3 Как мы выяснили в предыдущей части, машинные коды игры загрузить с дискеты непосредственно по адресу назначения нельзя. Мы загрузим их в другое место, а после загрузки переместим куда нужно. Кроме этого, мы хотим сделать моноблочный загрузчик, когда и загрузчик и загружаемые...

[Из песочницы] LeanChess — самые маленькие компьютерные шахматы в мире Меня зовут Дмитрий Шехтман, и я автор самых маленьких компьютерных шахмат в мире. Началось всё с того, что моя (ныне бывшая) девушка предложила написать компьютерные шахматы. Идея меня заинтересовала, и я решил этим заняться. Правда, почитав интернет, я понял, что опоздал л...

Разблокированному загрузчику быть. Huawei решила дать пользователям Mate 30 и Mate 30 Pro больше свободы Как известно, смартфоны Huawei Mate 30 и Mate 30 Pro дебютировали без сервисов Google, что ставит под вопрос их продажи в Европе. Huawei понимает, что за пределами Китая сервисы Google крайне важны, но решить проблему напрямую не может. Поэтому компания предлагает ещё о...

Похоже, покупатели Huawei Mate 30 и Mate 30 Pro всё же останутся без разблокированного загрузчика Пару дней назад глава Huawei Ричард Ю (Richard Yu) рассказ, что в смартфонах Mate 30 и Mate 30 Pro будет разблокированный загрузчик. Было неясно, будет ли он разблокирован из коробки или же пользователям дадут возможность его разблокировать, но в любом случае это шаг на...

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

[Из песочницы] JavaScript в 3D: введение в Three.js Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron). Введение Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач...

Исследуем активность кибергруппировки Donot Team APT-группа Donot Team (также известная как APT-C-35, SectorE02) активна по крайней мере с 2012 года. Интерес злоумышленников направлен на получение конфиденциальной информации и интеллектуальной собственности. Среди целей преступников — страны Южной Азии, в частности госуд...

Creality Ender-3 Нюансы прошивки программатором USBASP. Причина подтолкнувшая к написанию данного поста - те сложности, которые возникли у меня, новичка, после перегрева экструдера, с последующим наплавлением на него огромного кома пластика и решения перепрошить принтер.Приключения с очисткой хот и кул-енда паяльником и горелкой ...

Как перестать делать одно и то же Вы любите из раза в раз повторять рутинные операции? Вот и я нет. Но каждый раз в SQL-клиенте при работе с хранилищем Ростелекома приходилось прописывать все джойны между таблицами ручками. И это притом, что в 90% случаев поля и условия соединения таблиц совпадали от запроса...

Подключение платы Melzi V2.05 к Arduino IDE С целью заливки новой прошивки (Marlin 1.1.9) в плату Melzi V 2.05 решил подключить ее к Arduino IDE. Дело это нехитрое. Скачиваем последнюю на данный момент версию с официального сайта (1.8.9): https://www.arduino.cc/en/Main/Donate (если не хотим платить – нажимаем JUST DO...

[Перевод] Возможности Python 3, достойные того, чтобы ими пользовались Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как...

[Перевод] Распаковка: загрузчик Dridex Доброй ночи, друзья! Менее чем через месяц у нас стартует курс «Реверс-инжиниринг», в связи с этим традиционно делимся полезным материалом по теме. У некоторых читателей были проблемы с распаковкой начального загрузчика для Dridex (того, что был сброшен макросом), поэтому с...

Space Invaders: теперь и в 512 байт (Assembler x86) Казалось бы, ещё совсем недавно Space Invaders умещали в 1 килобайт, а теперь смогли уместить в один загрузочный сектор (512 байт). Автор программы — Оскар Толедо, пятикратный победитель IOCCC (International Obfuscated C Code Contest) и регулярный участник JS1K, также извес...

Восстановление Anet A6 после неудачной прошивки ВНИМАНИЕ!!! Все нужные файлы для проведения данной операции лежат в архиве можно скачать по ссылке.   Я отчаявшись, что мой принтер склеил ласты, начал курить форумы. На разных форумах пишут по разному, но потанцевав с бубном день, я собрал всю информацию которую нашел ...

Новый загрузчик Buhtrap Сегодня мы расскажем вам о новом подходе к рассылке ВПО группировкой Buhtrap. Модуль загрузчика 19 декабря нам стало известно о вредоносной рассылке, содержащей исполняемый файл (md5: faf833a1456e1bb85117d95c23892368). Файл принимал различные названия: «Сверка за декабрь....

Криптографический АРМ на базе стандартов с открытым ключом. Конфигурирование токенов PKCS#11 Еще раз просмотрев функционал утилиты cryptoarmpkcs, обратил внимание на то, что она, в основном работая с криптографическими токенами/смаркартами PKCS#11, не имеет встроенного функционала для их конфирурирования. Речь идет об инициализации токенов, установки PIN-кодов и т.п...

EFORTH для МК-161: Структуры данных Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь: habr.com/ru/post/452398 Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший...

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

[Из песочницы] Протокол потоковой передачи пакетов для микроконтроллеров PSP1N Постановка задачи При разработке очередного устройства на микроконтроллере, столкнулся с ситуацией, где требовалась непрерывная регистрации большого количества данных. Устройство должно было сохранять набор данных, состоящий из метки времени и результатов измерений шести АЦП...

[Из песочницы] Удаленное управление компьютером через браузер Около полугода назад задумал сделать программу для управления компьютером через браузер. Начал с простого односокетного HTTP сервера, который передавал картинки в браузер и получал координаты курсора для управления. На определенной стадии понял что для этих целей хорошо под...

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot ВведениеПрошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподп...

[Перевод] Unstated-next: минималистичное управление состоянием React-приложения 200 байт для управления состоянием React-компонентов React-хуки: это все, что нужно для управления состоянием. ~200 байт, min+gz. Знакомый API: просто пользуйтесь React, как обычно. Минимальный API: хватит пяти минут, чтобы разобраться. Написан на TypeScript, чтобы обеспечи...

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

Huawei передумала разблокировать загрузчик в ... США методично бьет по Huawei и будет это делать максимально долго, как только будет возможно. Одним из последствий такой агрессивной политики стала необходимость компании решать проблему отсутствия Google-сервисов на устройствах серии Huawei Mate 30, а также всех последующих...

[Из песочницы] Любительская голография — начало пути Хочу рассказать об одном из своих интересов – оптической голографии. Нет, это про не те голограммы, что в «Звёздных войнах», или в пирамидках на экранах мобильных телефонов, не про проекцию на плёнке, а то, о чём рассказывает Википедия в соответствующей статье. Не буду вдава...

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

[Из песочницы] Программ для изучения английского очень много, но стоит ли какой-нибудь из них пользоваться если ты программист? Всем привет, меня зовут Алексей. Я давно увлекаюсь программированием, хоть это и не является моей основной профессией. А ещё где-то год назад я увлёкся изучением английского языка. Много статей написано о том, как учить английский язык. Но если ты владеешь навыками програм...

Nginx VTS Stats, Mockify — mock API, сравнение Wiremock и Mockify В этом посте я хотел сделать демо Nginx VTS + Prometheus + Grafana. Для демо необходимо было чтобы upstream могли выдавать разные http коды. Это могли сделать следующие проекты: Mockify, написанный на Golang, и WireMock, написанный на Java. Небольшое оглавление установка и...

[Перевод] Как 17-летний парень портировал на компьютеры аркадный хит 80-х 6 часов, ноябрьское холодное утро 1987 года. 17-летний программист Мартин Уэбб сидит перед компьютером в каком-то доме в Шропшире. Отец Мартина, Дэннис Уэбб тоже здесь, как и Джефф Браун, руководитель компании-издателя игр US Gold. Они не спали всю ночь. Прошлым вечером, з...

[Перевод] Почему для открытия меню Windows читает один файл сто тысяч раз? «Проводник тратит 700 мс на то, чтобы открыть контекстное меню панели задач. 75% этого времени он выполняет 114 801 операцию считывания из одного файла, средний объём считываемых данных 68 байт. Мне стоит написать пост об этом, или достаточно саркастичного твита?» За комп...

Статическое распределение объектов FreeRTOS По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно...

[Перевод] Разработка надёжных Python-скриптов Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько десятков или сотен строк кода. А после того, как дело сделано, можно прост...

[Перевод] Пишем OTA-загрузчик для ATmega128RFA1 (в составе устройства Smart Response XE) Всё началось с приобретения автором на вторичном рынке интересного устройства — Smart Response XE (краткое описание). Предназначено оно для школ: каждый ученик в классе получает по девайсу, похожему на электронную записную книжку или переводчик девяностых, учитель задаёт в...

Часть 4. Карьера программиста. Junior. Заход во фриланс Продолжение рассказа «Карьера программиста». Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов. В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов прог...

Нормальные таблицы в Markdown Таблицы Markdown — это ад кромешный: В ячейках нельзя написать текст длиннее пары слов, а тем более список. Если диалект и позволяет пункт 1, это неудобно форматировать. Если ячейки не выровнены, таблицу невозможно читать. Нет поддержки однотипных таблиц и автоматики, врод...

Как мы делали свой движок Workflow Мы в компании DIRECTUM занимаемся разработкой ECM-системы DirectumRX. Основным элементом модуля Workflow для ECM-системы является движок. Он отвечает за изменение состояния экземпляра процесса (инстанса) по ходу жизненного цикла. Перед тем, как начать разрабатывать модуль Wo...

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0 Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода заниматься было очень сложно...

[Из песочницы] Как самостоятельно имплементировать (Proof of Existence) за 2 шага Всем привет! Я работаю в компании, QuantNet, которая проводит конкурсы алгоритмических стратегий. В недавнем времени передо мной встала важная задача — обеспечить гарантии неприкосновенности даты юзеров (это чрезвычайно важно, так как для корректной проверки эффективностей с...

[Перевод] Ужать аналог Space Invaders в 1 килобайт (оригинал 1978 года занимает 8) Эта игра, в значительной мере вдохновлённая Space Invaders, написана с нуля для ATtiny2313 и отправлена на недавно прошедший конкурс 1-килобайтных программ на Hackaday. Непросто поместить такую игру в 1024 байта. Но автор решил получить в результате полнофункциональную иг...

Удаленное управление принтером через Октопринт Для тех, кто как я не умеет в Линукс, либо не имеет GPIO на машине с октопринт посвящается...Данная инструкция подходит для любых устройств на октопринт, нужно иметь:1. немного прямые руки, без этого никуда, к сожалению2. какую нибудь умную роезетку/выключатель на esp8266 ил...

[Перевод] Рекомендации по написанию чистого кода на JavaScript Если вы заботитесь о самом коде, и о том, как он написан, а не заняты лишь тем, чтобы создавать работающие программы, это означает что вы стремитесь к тому, чтобы ваш код был чистым. Профессиональный разработчик пишет код не только в расчёте на компьютеры, но и в расчёте на ...

Ноутбук Compaq LTE 5000, часть первая — знакомство Когда на меня напал приступ ностальгии, одной из мыслей было то, что ретро-техника занимает довольно много места. Пока я с ней ковыряюсь на работе — это не страшно, три-четыре лишних системника на складе много места не займут. А вот дома место ограничено и не хотелось захлам...

[Перевод] Оптимизация поиска в ширину: как обработать граф с 10 миллиардами состояний Пару месяцев назад мне наконец пришлось признать, что я недостаточно умён, чтобы пройти некоторые уровни головоломки Snakebird. Единственным способом вернуть себе часть самоуважения было написание солвера. Так я мог бы притвориться, что создать программу для решения головол...

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

Российские компании атакует программа-вымогатель Во вложении таких писем находится ZIP-архив, который содержит JavaScript-файл под названием "Информация.js"; после извлечения и запуска этот файл скачивает вредоносный загрузчик, детектируемый продуктами ESET как Win32/Injector. В свою очередь, загрузчик запускает ...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

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

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

Как запустить java-проект на shell-раннере при пуше в репозиторий GitLab’а Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design. Передо мной стояла задача — внедрить запуск автотестов, написанных на Java Selenium. Я новичок в CI/CD, поэтому столкнулся со множеством проблем. Подробных инструкций в интернете по этой задаче ...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

[Из песочницы] Видеонаблюдение на orange pi zero — дешево и совсем не сердито Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками: Минимальное энергопотребление Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру,...

[Перевод] Современный рендеринг текста в Linux: часть 1 Добро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я счит...

Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2 Все это собиралось из под Ubuntu 16.04. Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не уст...

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

Laravel: объясняем основные понятия. Часть вторая: «Практика» Всем привет! Продолжаем серию авторских публикаций в преддверии старта курса «Framework Laravel». В прошлой статье мы с вами посмотрели на теоретические основы Laravel. Однако теорию любого фреймворка можно изучать достаточно долго и ничего не понять, пока сам не напишешь н...

Почему для нового проекта я взял Robot Framework Недавно я сменил проект — пришел в новую разработку, где до меня не было никакого тестирования, ни ручного, ни автоматического. Условий на инструментарий (за исключением того, что это Python) заказчик не накладывал, так что я сделал собственный выбор. В этой статье я расскаж...

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

Универсальный пул У нас есть ArrayPool для переиспользования массивов. Работает это так: взяли массив определенной длинны что то с ним поделали и положили обратно. Нужно это для больших объектов которые по логике программы долго не должны храниться. В предыдущей статье описана эта проблема. ...

[Перевод] Руководство по Discovery.js: быстрое начало Это и последующие руководства проведут вас через процесс создания решения на основе проекта Discovery.js. Наша цель — создать инспектор NPM-зависимостей, то есть интерфейс для исследования структуры node_modules. Примечание: Discovery.js находится на ранней стадии разработки...

[Перевод] Вся правда об ОСРВ. Статья #30. Инициализация и процедуры запуска Nucleus SE У любой операционной системы есть определенный механизм запуска. Принцип работы этого механизма у каждой системы свой. Обычно говорят, что система загружается (англ. boot), это сокращение от «bootstrap», которое отсылает к выражению «pull oneself over a fence by one’s boot...

Пошла по стопам Windows. Ноутбуки и настольные ПК Apple перестают включаться после обновления операционной системы Пользователи настольных компьютеров и ноутбуков Apple начали жаловаться на проблемы с включением после установки новой операционной системы macOS Catalina.  В основном проблемы наблюдаются у старых моделей, включая MacBook Pro 2012–2015 и iMac 2014 года. При...

Что такое загрузчик в Android и как его разблокировать Разблокировка загрузчика Раньше многие владельцы Android-смартфонов занимались разблокировкой «загрузчика» (или Bootloader) — зачастую без этого было нельзя обновить устройство на более новую версию операционной системы. Сейчас простому пользователю работать с загрузчи...

7 штук, которые точно не надо делать при открытии кружка робототехники. Вот совсем не надо делать Уже 2 года я развиваю робототехнику в России. Наверно громко сказано, однако недавно устроив вечер воспоминаний понял, что за это время под моим руководством было открыто 12 кружков по России. Сегодня решил написать об основных штуках, которые я делал в процессе открытия, н...

[Перевод] Операционная система на Rust. Страничная память: продвинутый уровень В этой статье объясняется, как ядру операционной системы получить доступ к фреймам физической памяти. Изучим функцию для преобразования виртуальных адресов в физические. Также разберёмся, как создавать новые сопоставления в таблицах страниц. Этот блог выложен на GitHub. Есл...

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

Реакция на холодные письма Меня немного расстроила статья «Оцениваем рекрутёров по холодным письмам». Как по мне, вся проблема высосана из пальца, и все очень похоже на то, что уже описал автор: Иди-ка ты на !@# со своей «токсичностью» Я напишу максимально противоположное большинству мнение, чем ско...

8-разрядный код Морзе По просьбе одного из любителей применения Щ-кодов в электронных поделках возникла необходимость написать функцию (подпрограмму, процедуру), которая будет издавать трель из последовательности точек и тире. В коде Морзе длина символа может быть от 1 знака (буквы Е и Т) до 9 зн...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

[Из песочницы] На что способен мозг студента, познающего компьютерный мир Доброго времени суток. Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, каррикатура на прог...

Поддержки Windows 10 на хромбуках не будет В прошлом году компания Google сообщила, что работает над средством двойной загрузки под названием AltOS. Этот загрузчик должен был обеспечить поддержку Windows 10 и Chrome OS на хромбуках. Теперь же этот проект закрыт.

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

[Перевод] 20 лет RollerCoaster Tycoon: интервью с создателем игры 31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году. Сегодня мало кто помнит имя шотландского программиста ...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

Создание и настройка портативной сборки Jupyter Notebook и Lab на Windows. Часть 1 Всем привет. Когда я начинал изучение Python, устанавливал впервые Jupyter Notebook, потом пытался передать с созданное в нём приложение на предприятие, я часто сталкивался с различными проблемами. То кириллица в имени пользователя мешает, то настройки не перенеслись, то ещё...

[Перевод] Сравнение потребления памяти различных GUI тулкитов Всем привет! Наша команда разрабатывает IDE для работы с API TestMace. В одной из наших предыдущих статей читатели указывали на непомерно большое потребление памяти electron-приложений. Что ж, настало время цифр :) В данной статье автор оценивает потребление памяти одноокон...

[Из песочницы] Вытаскиваем ПО из запароленного микроконтроллера Renesas M16C Есть у меня знакомый, который занимается ремонтом автомобильного железа. Он как-то принес мне микроконтроллер, выпаянный из блока управления автономного отопителя. Сказал, что его программатор это не берет, а ему хотелось бы иметь возможность переливать прошивки туда-сюда,...

[Из песочницы] Arduino и Processing. Как управлять микроконтроллером по COM порту. Двустороннее общение Всем привет! В интернете бытует заблуждение, что для управления компьютером при помощи самодельной электроники нужны только специальные платы, которые могут распознаваться как USB HID устройства. А касаемо Arduino все только и говорят о Arduino Leanardo. Такие популярные биб...

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

«Мы доверяем друг другу. Например, у нас вообще нет зарплат» — большое интервью с Тимом Листером, автором Peopleware Тим Листер — соавтор книг «Человеческий фактор. Успешные проекты и команды» (в оригинале книга называется «Peopleware») «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения» «Балдеющие от адреналина и зомбированные шаблонами. Паттерн...

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

[Из песочницы] Управление состоянием приложения в Flutter Привет, Хабр! Представляю перевод статьи, Let me help you to understand and choose a state management solution for your app, которая попалась мне и заинтересовала в процессе изучения азов управления состоянием во Flutter. Буду рад услышать любую критику касательно данного пе...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

[Из песочницы] Таинственная программа LyX. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. О чем я буду рассказывать? Эту серию статей будет писать человек, не очень разбирающийся в компьютерах для таких же людей. Я увлекаюсь математикой и с целью облегчения э...

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

[Перевод] Асинхронное программирование в Python: краткий обзор Когда говорят о выполнении программ, то под «асинхронным выполнением» понимают такую ситуацию, когда программа не ждёт завершения некоего процесса, а продолжает работу независимо от него. В качестве примера асинхронного программирования можно привести утилиту, которая, работ...

[Из песочницы] Что делать, если хочется собирать деньги на ремонт «Провала», а под рукой только Wikipedia Мечта любого пиарщика и маркетолога — разместить статью о своей компании на Википедии, ведь это и авторитетность, и высокая поисковая выдача, а значит и больше внимания со стороны потенциальных клиентов. Но написать статью на Википедии – это только половина дела, нужно ещ...

[Перевод] Создаём портативную платформенную игру на микроконтроллере Cortex M0+ Введение (Ссылки на исходный код и проект KiCAD приведены в конце статьи.) Хотя мы родились в 8-битную эпоху, нашим первым компьютером был Amiga 500. Это великолепная 16-битная машина, обладавшая потрясающими графикой и звуком, благодаря чему она отлично подходила для игр....

[Из песочницы] Как совместить преимущества ноутбука и стационарного компьютера? Разбор проблемы и идеи решения В данный момент ноутбуки и персональные компьютеры сильно отличаются друг от друга. Под системным блоком стационарного компьютера, как правило, понимается «башня» преимущественно стандарта midi-tower, весом килограмм в 15-20 (или больше), занимающий огромное пространство под...

[Перевод] 10.3 секунды на хеш: майнинг на бортовом управляющем компьютере КА Аполлон Нам удалось восстановить Бортовой управляющий компьютер КА Аполлон. И теперь, когда у нас на руках имеется единственный в мире работающий экземпляр, мне пришла в голову идея написать для него код. Хотя мысль о добыче биткоинов с помощью компьютера из далеких 60-х казалась бе...

Делаем процесс разработки тяжеловесного программного обеспечения под микроконтроллеры более удобным (нет) Сейчас уже никого не удивить микроконтроллерами с энергонезависимой (чаще всего Flash) памятью объемом 512 килобайт и более. Их стоимость постепенно снижается, а доступность напротив, растет. Наличие такого объема энергонезависимой памяти дает возможность писать «тяжелые» по...

[Перевод] Создавайте свой код с нуля, это прокачает ваш уровень Чтобы по-настоящему понять колесо, нужно его самостоятельно переизобрести. На днях я провел собеседование на должность senior javascript разработчика. Мой коллега, который также принимал участие в собеседовании, попросил кандидата написать функцию, которая будет выполнять...

[Перевод] Втиснуть Бейсик в 768 байт Тем, кому посчастливилось написать свою первую программу на Бейсике в конце восьмидесятых, объём интерпретатора в 16 килобайт кажется вполне естественным. Так было не всегда, известны интерпретаторы объёмом в 8 и 4 килобайта, конечно, с более скромным набором функций. Но в...

MOXA Nport — взгляд изнутри Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422. Счетчики электроэнергии, управляемые вентили и зад...

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

[Из песочницы] Как я библиотеку для сервиса «Яндекс.Музыка» писал Введение Обо мне Всем привет, я обычный учащийся по специальности "техник-программист". С детства увлекаюсь компьютерами, с класса 7-го начал познавать само программирование. Являюсь владельцем подписки на Яндексу Музыку уже больше года и в целом доволен сервисом (...

Сайзеры wxWidgets Привет Хабр! Сегодня хочу немного рассказать о своем опыте применения сайзеров в wxWidgets. Всю свою сознательную 'жизнь' на С++ я провёл в среде C++Builder с редкими вылазками в Misrosoft VC. В поисках чего-то нового решил попробовать связку CodeBlocks и wxWidgets. И сраз...

[Перевод] Вся правда об ОСРВ. Статья #29. Прерывания в Nucleus SE Все современные микропроцессоры и микроконтроллеры содержат какие-либо механизмы прерывания. Эти механизмы необходимы для обеспечения «отзывчивости», требуемой многими приложениями. Безусловно, отзывчивость и предсказуемость являются основной целью при использовании ОСРВ, но...

Часть 5/2 корп. 1: Перекрёсток проспекта RocketChip и скользкой дорожки инструментации В предыдущих четырёх частях велась подготовка к экспериментам с RISC-V ядром RocketChip, а именно, портирование этого ядра на «нестандартную» для него плату с ПЛИС фирмы Altera (теперь уже Intel). Наконец, в прошлой части на этой плате получилось запустить Linux. Знаете, что...

Как я написал и издал книгу об МГУ: 10 критических ошибок Три года назад я решил сделать книгу о высотке МГУ на Ленинских горах — большую, иллюстрированную, с привлечением выпускников и т.п. История этой работы — настоящее кино (местами фарс, местами хоррор) с кучей драматических поворотов. Сверхудачный краудфандинг, широкая аудито...

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

[Из песочницы] Подключаем WiFi-адаптер WN727N к Ubuntu/Mint У меня возникла проблема с подключение WiFi-адаптера wn727n к ubuntu/mint. Я долго гуглил, но решения так и не нашел. Решив проблему, решил написать его сам. Все, что написано ниже, рассчитано на новичков. Читать дальше →

Как не промахнуться с бюджетом на серийное производство корпусов: 20 примеров из практики бюро по инженерному дизайну Публикация всего двух статей о том, как самостоятельно оценить стоимость производства корпуса для прибора (первая и вторая) подняла просто волну запросов из серии «А вот сколько будет стоить наш корпус при тираже 5-100-1000- ∞ штук?» Как выясняется в ходе общения, большин...

Модернизация GHIDRA. Загрузчик для ромов Sega Mega Drive Приветствую вас, товарищи. Не слышал о пока-ещё-не-опенсорсной GHIDRA, наверное, только глухой/слепой/немой/без_интернета реверс-инженер. Её возможности из коробки поражают: декомпиляторы для всех поддерживаемых процессоров, простое добавление новых архитектур (с сразу же а...

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

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

[Перевод] Реверс-инжиниринг неизвестного процессора по единственной программе TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось… В прошлые выходные мы с командой C...

Как перенести файлы между Mac и Android Предположим, у вас есть MacBook или любой другой компьютер Mac и мобильный телефон Android, и вы хотите перенести файлы с MacBook на устройство Android. Если вы захотите использовать USB-кабель, вы не сможете передавать файлы с Mac на Android из-за несовместимости двух платф...

[Перевод] Конференция DEFCON 27. Извлечение пользы из хакерских продуктов для macOS. Часть 2 Конференция DEFCON 27. Извлечение пользы из хакерских продуктов для macOS. Часть 2 Получив с удаленного хакерского C&C-сервера файл с вредоносным кодом, эксплойт приступает к его исполнению. Здесь используется тот же SDF-метод, когда архив с вредоносным ПО распаковывает...

Уязвимость в WinRAR уже используется в атаках Исследователи обнаружили распространяемый через спам RAR-файл с вредоносным загрузчиком, который устанавливается на Windows посредством эксплуатации недавно опубликованной уязвимости в архиваторе WinRAR. Брешь проявляется при работе с ACE-файлами и позволяет распаковать их с...

[Из песочницы] Менеджмент памяти или как реже стрелять себе в ногу Привет, Хабр! В этой статье я попытаюсь рассказать, что из себя представляет менеджмент памяти в программах/приложениях с точки зрения прикладного программиста. Это не исчерпывающее руководство или мануал, а просто обзор существующих проблем и некоторых подходов к их решению...

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1) Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, по...

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

[Из песочницы] Как я проработала 3 месяца в Я.Маркете и уволилиась Первая попытка Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд разработчика. Я его сделала, вот оно. По условию он...

NVIDIA пропатчила уязвимость в платформе Jetson TX1 В платформе NVIDIA Jetson TX1 закрыта уязвимость, позволяющая выполнить вредоносный код, повысить привилегии в системе или вызвать отказ в обслуживании. Багу присвоили идентификатор CVE‑2019‑5680. Он затрагивает миллионы мобильных и IoT-устройств, работающих на процессорах T...

Realme опубликовал исходные коды ядер Realme XT, Realme 5 и Realme 5 Pro Суббренд Realme китайской компании Oppo, который сегодня называют новой угрозой Xiaomi и ее суббренду Redmi, делает успехи в завоевании доверия и расположения пользователей Android. В отличие от именитых брендов, Realme занимает более дружественную к разработчикам позицию, п...

[Перевод] Конференция DEFCON 25. Гарри Каспаров. «Последняя битва мозга». Часть 1 Для меня большая честь присутствовать здесь, но, пожалуйста, не нужно меня взламывать. Компьютеры и так меня ненавидят, так что мне нужно подружиться с как можно большим числом людей в этом зале. Хочу привести один маленький пустяк из моей биографии, интересный для американс...

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

Huawei разблокировала загрузчик для Mate 30 и Mate 30 Pro Компания Huawei ищет способы привлечь интерес к своим новым флагманам Mate 30 и Mate 30 Pro. Новые модели будут поставляться с разблокированным загрузчиком. Раньше компания не делала этого в целях безопасности. Обстоятельства вынудили Huawei разблокировать загрузчик, благо...

Конец сладкой эпохи. Google представила финальную версию Android 10 и обновленный бренд Компания Google недавно выпустила заключительную бета-версию Android 10 Q, а стабильная финальная версия ожидается в самое ближайшее время. Долгое время все гадали, название какой сладости скрывается под буквой Q, однако компания Google неожиданно заявила, что она решил...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

Ключи шифрования Bluetooth можно ослабить Специалисты CISPA (Центр IT-безопасности, приватности и подотчетности) определили уязвимость Bluetooth, которая может привести к раскрытию информации и несанкционированному повышению привилегий. Баг CVE-2019-9506 получил 9,3 балла по шкале CVSS, что соответствует критическом...

Уникальный калькулятор MyScript Calculator 2 доступен на iOS и Android бесплатно Разработчики приложения MyScript Calculator 2 сделали все для того, чтобы сделать процесс решения примеров и уравнений максимально простым и интуитивным. Вместо того, чтобы выбирать нужные цифры и знаки на виртуальной клавиатуре, вам достаточно просто написать пальцем,...

Nvidia и Intel латают уязвимости в игровых продуктах Компании Intel и Nvidia устранили серьезные недостатки в двух продуктах, ориентированных на геймеров. Уязвимости обнаружили в игровой приставке Nvidia Shield TV и компактном компьютере Intel NUC (Next Unit of Computing). Оба вендора выпустили рекомендации по безопасности и о...

Читай старьё Всю свою сознательную жизнь я любил историю. Интерес к другим предметам приходил и уходил, а к истории оставался всегда. Я люблю документальные и художественные фильмы про историю, легкие книги «про те времена», очерки об известных людях и событиях, научные труды, историю ин...

[Перевод] Убил ли Linux коммерческий Unix? Продажи коммерческого Unix падают, будто с обрыва. За этим драматическим спадом должно что-то стоять. Убил ли Linux своего предка, став прекрасной ему заменой, будто реализовав "Вторжение похитителей тел" в мире операционных систем? Начало Unix Первый выпуск Unix состоялс...

[Из песочницы] Как я учил змейку играть в себя с помощью Q-Network Однажды, исследуя глубины интернета, я наткнулся на видео, где человек обучает змейку с помощью генетического алгоритма. И мне захотелось так же. Но просто взять все то же самое и написать на python было бы не интересно. И я решил использовать более современный подход для об...

[Из песочницы] Пишем бот для рыбалки в игре Albion Online на языке Python Всем привет, я являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде». И еще меньше игр в жанре MMORPG. Однако, где-то пол года или год назад я узнал ...

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

[Перевод] Типы для HTTP-API, написанных на Python: опыт Instagram Сегодня мы публикуем второй материал из цикла, посвящённого использованию Python в Instagram. В прошлый раз речь шла проверке типов серверного кода Instagram. Сервер представляет собой монолит, написанный на Python. Он состоит из нескольких миллионов строк кода и имеет неско...

Как перенести приложения на другой диск в macOS Компания Apple довольно часто подвергается обоснованной критике — по причине того, что базовые модели MacBook и Mac Mini оснащаются накопителями совсем небольшого объема — на 128 ГБ. Из-за этого многим пользователям приходится ограничиваться себя буквально во вс...

Kubernetes 1.15: обзор основных новшеств В понедельник должен был официально состояться (но пока этого не случилось) очередной релиз Kubernetes — 1.15. По сложившейся для нашего блога традиции, рассказываем о наиболее значимых изменениях в новой версии. Информация, использованная для подготовки этого материала, ...

Проект "Умная розетка" Всем привет! С вами Vario Company, и мы хотим рассказать про наш внутренний проект "Умная розетка". Идея данного проекта родилась, когда мы  начали сталкиваемся с рядом житейских вопросов, таких как потребление электроэнергии и шум принтеров на холостом ходу. Чтобы не г...

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

Security Week 42: аппаратные бэкдоры, уязвимость в Intel NUC Уязвимости в ПО низкого уровня, которое запускается до загрузки операционной системы, бывают не только в «айфонах». На прошлой неделе были закрыты уязвимости в прошивках двух популярных устройств — в игровой и медиаприставке Nvidia Shield TV и в компьютерах семейства Intel N...

[Перевод] Грязные хаки ассемблера 6502 В этой статье перечислены некоторые трюки, которые применяли участники моего маленького конкурса программирования Commodore 64. Правила конкурса были просты: создать исполняемый файл C64 (PRG), который рисует две линии, чтобы сформировать изображение ниже. Побеждал тот, чей ...

Нейросеть по цене Пикассо: новую картину, написанную ИИ, продадут на аукционе 6 марта на аукционе Sotheby’s в Лондоне появится очень необычный лот — инсталляция, главным элементом которой является нейросеть, постоянно генерирующая уникальные портреты. Проект, названный «Воспоминания прохожих 1» (Memories of Passersby 1), станет вторым произведе...

Huawei передумала разблокировать загрузчик на смартфонах серии Mate 30 Недавно представленные смартфоны Huawei серии Mate 30 обладают впечатляющими характеристиками и функциями, но отсутствие сервисов Google может помешать их продажам. Ранее генеральный директор Huawei Ричард Ю сообщил, что компания позволит пользователям разблокировать загрузч...

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

Компьютеры Apple поразил опасный вирус. Виноват Windows Для этого они замаскировали троян под установщик довольно популярного среди пользователей MacOS файрвола Little Snitch. Внутри обыкновенного на вид файла для установки находится среда исполнения Windows-совместимых файлов Mono, а также вредоносный код, выполняемый в этом кон...

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

Help Desk за 3 часа. Автоматизация несложных бизнес-процессов в PowerApps, Flow и Teams Всем привет! Мой коллега написал статью по опыту использования различных инструментов О365 для автоматизации небольших бизнес-процессов. Мы взяли за основу кейс по автоматизации HelpDesk на технологиях PowerApps, MS Flow и MS Teams. Подробности под катом. Надеюсь, статья бу...

Как живут фрилансеры: дизайн книжных обложек, собственное производство рюкзаков и работа в путешествиях Героиня нового выпуска интервью с Фрилансим — Наташа Байдужа, дизайнер и человек-пароход. За годы фриланса успела пожить в Москве, Одессе, Черногории, придумать свою марку рюкзаков (сшить и продать первую партию), написать детскую книгу, сделать бесчисленное множество иллюст...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

[Из песочницы] Пишем простой NTP клиент Здравствуйте, хабраюзеры. Сегодня я хочу рассказать о том, как написать свой простенький NTP клиент. В основном, разговор зайдет о структуре пакета и способе обработки ответа с NTP сервера. Код будет написан на питоне, потому что, как мне кажется, лучшего языка для подобных ...

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

Группировка Silence атаковала банки более 30 стран Кибергруппировка Silence с мая 2018 года похитила миллионы долларов у финансовых учреждений в десятках стран СНГ, Европы и Азии. В новых кампаниях преступники доработали свои методы и системы, чтобы лучше избегать обнаружения. В частности, они переписали свой загрузчик TrueB...

Как сжимать видео на iPhone и iPad Современные iPhone и iPad способны снимать видео с невероятно высоким качеством и детализацией. Но у всего есть обратная сторона: подобные видео занимают очень много места в памяти устройства. Кроме того, определённые трудности могут возникнуть, если необходимо поделиться р...

Что было на первом iPod: двадцать альбомов, которые выбрал Стив Джобс в 2001 году Восемнадцать лет назад iPod ворвался на рынок аудиогаджетов и навсегда поменял вектор развития музыкальной индустрии. Про само устройство и его влияние написано много, но одна деталь заслуживает особого внимания. А именно — альбомы, попавшие в руки приглашенных журналистов в...

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

Эволюция средств поставки, или размышления о Docker, deb, jar и прочем Как-то в один момент я решил написать статью про поставку в виде контейнеров докер и deb-пакетов, но когда начал, меня почему-то понесло в далекие времена первых персональных компьютеров и даже калькуляторов. В общем, вместо сухих сравнений докера и deb получились вот таки...

Вымогатели спрятали загрузчик GandCrab в картинку с Марио Сотрудник компании Bromium Мэттью Роуэн (Matthew Rowen) обнаружил необычный способ распространения вредоносного ПО. По его словам, злоумышленники спрятали шифровальщик GandCrab в изображении Марио, главного героя серии игр Super Mario Bros. Для распространения вымогателя ата...

[Из песочницы] Хранение настроек в памяти Базового устройства Привет! Если Вам посчастливилось подержать в руках микроконтроллер ESP32 (мне посчастливилось больше и у меня в руках M5Stack) от китайской компании ESPRESSIF, то этот пост, возможно, будет полезен. Бывает ситуация, когда необходимо сохранить какие-то параметры в энергонеза...

Простой парсер арифметических операций Для учёбы необходимо было написать парсер арифметических операций, который мог бы рассчитывать не только простейшие операции, но и работать со скобками и функциями. В интернете не нашел готовых и подходящих для меня решений (некоторые были чересчур сложные, другие были не п...

Как сделать Xiaomi Mi 9T Pro из смартфона Redmi K20 Pro Прошиваем Redmi K20 Pro в модель Xiaomi Mi 9T Pro 20 августа компания Xiaomi представила свой новый флагманский смартфон Mi 9T Pro, но мы уже выяснили, что в техническом плане он ничем не отличается от ранее представленного Redmi K20 Pro, а значит можно взять прошивку одного...

Бег — идеальный спорт для удаленщика. Часть 2: физика и матчасть Первая часть статьи, рассказывающая о моем пути к бегу и призванная мотивировать других удалённых айтишников хотя бы попробовать этот вид спорта, нашла живой отклик у сообщества. В комментариях к ней развернулась активная дискуссия, в которой, помимо прочего, было затронут...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

[Из песочницы] Подводные камни в управлении Machine Learning проектом Уже полтора года я занимаю у себя в компании позицию основного ML-разработчика. Полгода управляю небольшой командой. Я накопил опыт, которым хочу поделиться. Делать это буду в формате топа заблуждений и потенциальных трудностей. Читать дальше →

Arduino DIY «Демоническая карусель» Всем привет. На данный момент я разработал прототип детского интерактивного тира в виде конструктора, которую я назвал “демоническая карусель”. Задумка была реализовать конструктор в области робототехники. Используя технологию 3D печати и различныx готовых плат, которые мо...

[Перевод] Ищем свободное парковочное место с Python Я живу в хорошем городе. Но, как и во многих других, поиск парковочного места всегда превращается в испытание. Свободные места быстро занимают, и даже если у вас есть своё собственное, друзьям будет сложно к вам заехать, ведь им будет негде припарковаться. Поэтому я решил...

Как стать разработчиком игр, если ты риелтор Добрый день, Хабр. Два года и несколько месяцев назад, я написал здесь своей первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно наз...

Эволюция CI в команде мобильной разработки Сегодня большинство программных продуктов разрабатываются в командах. Условия успеха командной разработки можно представить в виде простой схемы. Написав код, вы должны убедиться, что он: Работает. Ничего не ломает, в том числе код, который написали ваши коллеги. Если ...

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом Привет, Хабр! Периодически посматриваю на Swift в качестве языка прикладного программирования для Linux — простой, динамичный, компилируемый, без сборщика мусора, а значит, теоретически, пригоден и для устройств. Решил сравнить его с чем-то таким же молодым и модным — напри...

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

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

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

[Перевод] Отладка скрытых утечек памяти в Ruby В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, кот...

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

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

Прочность на изгиб изделий из PLA Добрый деньПродолжаю осваивать принтер Zenit 3D. Меня давно интересовал следующий вопрос – какая прочность изделий, напечатанных по технологии FDM из разных материалов. Поиски в интернете давали качественные характеристики – прочный/хрупкий. Также не нашел данных по зависимо...

Крути барабаны в слотах и зарабатывай Если вы любите азартные развлечения, вам наверняка хотелось бы найти онлайн казино, которое бы соответствовало всем нормам, и имело при этом максимально комфортные условия для игры. Всё это вы обязательно найдёте на официальном источнике казино Вулкан 777 по данной ссылке &#...

[Перевод] Прекратите использовать Else в ваших программах Когда я только начинал программировать, хотел бы я, чтобы тогда нашёлся кто-то, кто мог бы рассказать об основных подводных камнях, с которыми я столкнусь при создании моего первого сайта. Тогда одной из проблем было чрезмерное использование else при написании условных выраж...

[Перевод] Рендеринг текста вас ненавидит Оглавление 1. Терминология 2. Стиль, вёрстка и форма зависят друг от друга? 3. Текст — это не отдельные символы 3.1. Наложения текста 3.2. Стиль может изменить лигатуру 4. Эмодзи ломают цвет и стиль 5. Сглаживание — это ад 5.1. Субпиксельные смещения ломают кэш глифов...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

Написание змейки на ipad (pythonista) … или как убить время имея ipad и больше ничего... Привет! О чем речь? К сожалению, планшеты пока не заменяют компьютеры. Но покодить в поездке/полете это же жизненно необходимо. Поэтому я поискал какие ide есть под ipad, и собственно сегодня буду делать игрульку на Python...

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

[Перевод] Лучшие дистрибутивы Linux для старых компьютеров Привет! Вкратце: пока не бросайте свой старый компьютер — используйте легкий дистрибутив Linux, чтобы возродить его! Что вы делаете со своим старым компьютером? Тот, который когда-то имел хорошую аппаратную конфигурацию, но теперь считается устаревшим. Почему бы не восстан...

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

Настройка сервера для развертывания Rails приложения при помощи Ansible Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документац...

Gartner: в 2019 году мировой рынок публичных облачных сервисов вырастет на 17,5% В ближайшие годы рынок облачных сервисов будет расти втрое быстрее, чем рынок ИТ-сервисов в целом, полагают аналитики. Объем мирового рынка публичных облачных сервисов в 2019 году вырастет до 214,3 млрд долл. В 2018 году он составлял 182,4 млрд долл. Быстрее всех расте...

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

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий сп...

Дилетант в opensource — lessons learned за 3 года Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так н...

[Из песочницы] Мой опыт подготовки к экзамену JIRA Administrator ACP-100 Приветствую! В апреле 2018 успешно сдал экзамен по JIRA ACP-100, в октябре 2018 сдал экзамен по confluence ACP-200. Решил написать пост о том, как я готовился к экзамену JIRA ACP-100, дать советы для тех кому эта тема может быть интересна. Я опишу процесс своей подготовки к...

Российские программисты снова стали лучшими в мире Финал олимпиады по программированию проходил в португальском городе Порту. Каждая команда получала один компьютер и список задач, решение которых должно быть написано на языках программирования C, C++, Java, Python или Kotlin. Зачетные баллы участники получали, если их скомп...

Экономика радости. Наставничество как частный случай. Закон трёх процентов Знаю, что написав этот пост, не стану Паисием Святогорцем. Однако, я надеюсь, найдётся хотя бы один читатель, который, возможно, поймет какой это кайф – быть педагогом (ментором) в IT. И наша страна станет чуточку лучше. И этот читатель (который поймет) станет чуточку счастл...

Всё, что вам нужно для запуска Windows 10 19H2 (версия 1909) Новое обновление функции не за горами, поскольку Microsoft уже завершила разработку Windows 10 19H2 (RTM) и компания уже сосредоточилась исключительно на полировке обновления перед публичным его запуском.В соответствии с типичным графиком выпуска Windows 10 19H2, как ожидает...

OS1: примитивное ядро на Rust для x86. Часть 3. Карта памяти, Page fault exception, куча и аллокации Первая часть Вторая часть Тема сегодняшнего разговора — работа с памятью. Я расскажу про инициализацию директории страниц, маппинг физической памяти, управление виртуальной и мою организацию кучи для аллокатора. Как я уже говорил в первой статье, я решил использовать страниц...

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных ...

Настройка Firefox в Linux Решил написать о настройке Firefox для Linux. В интернете похожие статьи то же есть, но в основном они по старым версиям браузера. Радикальных отличий в настройке Firefox для Linux или для Windows нет, однако есть свои особенности. Читать дальше →

[Перевод] Подготовка к Spring Professional Certification. Spring REST Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов. Официальный гид от Pivotal, в котором написано про темы для подготовки. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентир...

Телега для датасайентиста How to deploy Python Telegram bot using Webhooks on Google Cloud Platform Вместо предисловия — Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она. — А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас). Мы сидели в Бине и за чашкой кофе обсуж...

[Из песочницы] Как я писал ИИ для пошаговой стратегии Всем привет. Думаю, что из заголовка ясно, что речь пойдет о создании искусственного интеллекта(далее просто ИИ), о том какие решения были приняты и что в итоге получилось. Но вначале необходимо ввести Вас в курс дела. Игра написана на языке программирования Lua, поэтому и...

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

Книга «Грокаем глубокое обучение» Привет, Хаброжители! Книга закладывает фундамент для дальнейшего овладения технологией глубокого обучения. Она начинается с описания основ нейронных сетей и затем подробно рассматривает дополнительные уровнии архитектуры. Книга специально написана с намерением обеспечить м...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...

Picaso Designer X. Перипетии со счастливым концом. Приветствую. Год я был счастливым обладателем Геркулеса 2017. За это время с ним не было ни одного косяка или малейшей проблемы.      Отличный принтер. Смело могу порекомендовать. (вентиляторы только поменять, чтобы не вспоминать детство в далёком авиационном ...

[Из песочницы] Свой mapper или немного про ExpressionTrees Сегодня мы поговорим про то, как написать свой AutoMapper. Да, мне бы очень хотелось рассказать вам об этом, но я не смогу. Дело в том, что подобные решения очень большие, имеют историю проб и ошибок, а также прошли долгий путь применения. Я лишь могу дать понимание того, ...

Реализация беспроводной коммутации 3D машин на Marlin Добрый день Уважаемые читатели!Я хотел бы продолжить тему с разработками и процессами этапов разработок относящихся к 3D принтерам, все работы проходили/ проходят в рамках текущего стартап проекта "Erzay3D".     Для удовлетворения условий беспроводного обмена данн...

Предложения по программе для учета коммерческой 3D-печати Тут много раз спрашивалось и писалось по вопросам расчета стоимости коммерческой печати. Большинство, как я понял, считает или просто на калькуляторе или делает табличку в Excel для расчета стоимости.Я решил попробовать убить всех зайцев одним выстрелом - написать программу ...

ZX Spectrum 128k своими руками. Часть 2 Первая часть здесь Все изображения кликабельны. Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрок...

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

Свежее обновление Galaxy Buds улучшает соединение Bluetooth Компания Samsung выпустила свежее обновление R170XXU0ASJ2 для своих беспроводных наушников Galaxy Buds. Оно весит 1,38 МБ и включает в себя исправление, предназначенное для стабилизации Bluetooth-соединения. Также была устранена ошибка, которая вызвала сбой при включении фун...

О анонимности в интернете, жизни и её относительности Warning! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо...

Никаких танцев с бубном: установить Google Camera на Xiaomi Redmi Note 7 можно без разблокировки загрузчика В смартфоне по умолчанию активирован Camera2 API.

Гуд Монинг #4: Даты анонсов Pixel 4 и OnePlus 7T Google Pixel 4 представят 15 октября Мы знали и предполагали, что новый Pixel представят в октябре, но теперь у нас есть точная дата — 15.10.2019. А теперь давайте удивимся — мероприятие пройдёт в Нью Йорке. Далековато от штаб-квартиры… В приглашении написа...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

[Перевод] Мой компилятор для Lisp Очень рад объявить о завершении моего первого компилятора для языка программирования! Malcc — это инкрементальный AOT-компилятор Lisp, написанный на C. Вкратце расскажу о его многолетней разработке и что я узнал в процессе. Альтернативное название статьи: «Как написать комп...

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

Сэмплирование с температурой Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p (вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t) (где t — это ещё какой-то непонятный положительный скаляр)? Б...

«Как перестать гореть», или о проблемах входящего потока информации современного человека В 20-м веке жизнь и работа людей шли по плану. На работе (упрощая — можно представить завод) у людей имелся четкий план на неделю, на месяц, на год вперед. Упрощая: тебе надо выпилить 20 деталей. Никто не придет и не скажет, что деталей теперь надо выпилить 37, а кроме тог...

Дайджест управления продуктом за октябрь Привет, Хабр! Я экспериментирую с форматом, поэтому решил написать этот дайджест. Не так важно кто ты, самое важное — твой интерес к digital и желание узнать чуть больше про управление продуктом. Буду писать много про это, но не только. Основные новости будут из разных про...

IOTransfer 3 – менеджер файлов и загрузчик видео в одном флаконе Наверное, уже только ленивый не успел попинать версию iTunes для Windows — громоздкое и медлительное приложение, за годы успевшее собрать в себя магазин музыки и фильмов, каталог подкастов, файловый менеджер для iPhone и iPad и стриминговый сервис Apple Music, никогда не отл...

[Из песочницы] Мой компилятор Паскаля и польское современное искусство Истоки Несколько лет назад я написал компилятор Паскаля. Мотивация была простой: в юности я узнал из своих первых книжек по программированию, что компилятор — вещь чрезвычайно сложная. Это утверждение засело занозой в мозгу и в конце концов потребовало проверки на опыте. h...

Google запустила бесплатный аналог SMS для Android. Но не спешите радоваться RCS должен был стать заменителем SMS, но как-то не срослось В последнее время в Сети всё чаще и чаще встречаются упоминания RCS. Говорят, что это бесплатный аналог привычных смс-сообщений, но никто толком не объясняет, как это стало возможно и, самое главное, почему никто не...

Мобильная тумба для китайских станков. Или как разместить их в квартире Дамы и господа, здравствуйте! Данную статью я решил написать после прочтения комментария в статье Программирование на JavaScript для токарного станка от QwertyOFF Я слабо представляю как можно держать токарный, даже такой, в квартире, разве что у вас есть комната, которую с...

[Перевод] Приключения с ptrace(2) На Хабре уже писали про перехват системных вызовов с помощью ptrace; Алекса написал про это намного более развёрнутый пост, который я решил перевести. С чего начать Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет...

GPS трекер BOXY Привет, Хабр! GPS трекером уже никого не удивишь — это факт. Написать этот краткий обзор решил, когда первый раз взял в руки эту «фитюльку». Ну, по порядку: появилась задача – оснастить трекером домашнего питомца. Не то чтобы он убегал постоянно, но для общего спокойствия ч...

Экспресс-тест: «не» или «ни»? Напишите частицу правильно! Частицы «не» и «ни» наводят страх не только на обычных людей, но и на истинных граммар-наци. А всё потому, что написать их правильно довольно сложно. «Ни на минуту» или «не на минуту», «ни дать ни взять» или «не дать не взять», «не кто иной» или «никто иной»? Попробуйте прой...

Советский центр управления полетами времен «Востоков» и «Восходов» Написать эту статью меня побудила вот эта фраза Филиппа Терехова из его обзора фильма «Время Первых»: «Отдельная интересная история с Центром управления полетами, как он показан в фильме. Увы, но красивая картинка выше представляет собой копию американского ЦУПа…Внутренн...

Samsung хочет стать как Apple и заменить смартфоны сервисами Samsung хочет начать развивать свои сервисы, чтобы быть как Apple С момента выхода самого первого iPhone компания Apple была негласным ориентиром для большинства конкурентов. Чтобы не потерять лицо, многие не желали этого признавать, однако всё равно пытались подражать Apple...

Вариатор vs государство — Скажите, имею ли я право… — Имеете, имеете! — Да Вы не поняли, я хотел узнать, имею ли я право… — Да точно говорю, имеете! — Да Вы объясните, могу ли я… — А-а-а… Нет, не можете! © (Анекдот о юристах) Предыстория Около года назад я опубликовал статью Вариатор...

[Из песочницы] Выходные на электромопеде с бензогенератором В конце 2016 года я собрал свой первый электровелосипед. Тогда я использовал его только для поездок на работу, а скромного аккумулятора емкостью 0,5 кВт*ч на элементах с химией LiFePO4 едва хватало на дистанцию около 20 километров в условиях Москвы. Но окрыляющее чувство «...

[Из песочницы] Пишем VLC плагин для изучения английского В данной статье я расскажу о том, как написать плагин на языке C для медиаплеера VLC. Я написал свой плагин для упрощения просмотра сериалов и фильмов на английском языке. Идея создания этого плагина описывается в разделах Идея и Поиск решения. Технические детали реализаци...

[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019) CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors О нас Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос...

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

Выставка в Лас-Вегасе — для разработчиков электроники, а не ее потребителей. A report from Design Automation Conference Я решил написать эту заметку на Хабре по-русски и по-английски, чтобы раздавать ссылку на нее как в англо- так и в русско-язычные форумы и группы. Русский текст не является переводом английского и наоборот — я просто написал заметку дважды (терпеть не могу переводить). Жел...

[Из песочницы] Размышления на тему карьеры в IT и советы начинающим Привет, Хабр! Я тут недавно много думал насчёт карьеры, будущего нашей индустрии и так далее. Решил написать статью для тех кто только собирается сюда въезжать, да и вообще возможно кому-то будет интересно, все нижеприведенное чисто мое имхо и многое из того что я скажу прим...

Любишь пользоваться читами, люби и эссе писать: второй шанс для читеров от Bethesda Все мы знаем, что Fallout 76 славиться не только кучей багов, но и обилием читеров. Bethesda активно борется с данной категорией геймеров, однако вместо обычного бана навсегда, компания решила скреативить. Согласно нескольким источникам, забаненным пользователям на почту нач...

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

Чикагская полиция пробует Samsung DeX как замену громоздким автомобильным компьютерам Полиция в 11-м округе Чикаго в Вестсайде проводит эксперимент по использованию Samsung DeX в качестве замены существующих автомобильных компьютеров. Об этом на днях объявило Чикагское полицейское управление вместе с компанией Samsung. У офицеров будет смартфон Samsung Galaxy...

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

Ember.js: (снова) время попробовать Я написал эту статью по мотивам выступления, которое я делал в meetup-группе Berlin.js. Последнее время выходит очень мало русскоязычных материалов об этом достаточно популярном и стабильном фреймворке и я решил немного исправить эту ситуацию. Вы учите Ember.js один раз, а ...

Готовится мобильная оболочка для настольной ОС Windows 10 Microsoft объявила, что поддержка телефонов на базе Windows 10 Mobile будет прекращена после декабря 2019 года, но некоторые ее пользователи все еще хотят продлить жизнь этим устройствам благодаря ARM-версии Windows 10. Независимые разработчики попробовали запустить Windows ...

Машинное обучение без Python, Anaconda и прочих пресмыкающихся Нет, ну я, конечно, не всерьез. Должен же быть предел, до какой степени возможно упрощать предмет. Но для первых этапов, понимания базовых концепций и быстрого «въезжания» в тему, может быть, и допустимо. А как правильно поименовать данный материал (варианты: «Машинное обуче...

Что за музыка была «зашита» в популярных ОС: кейс Windows Ситуация: на дворе 2003-й год. Кто-то из вашей семьи разговаривает по телефону, чем занимает линию, к которой подключен модем. В ожидании своей очереди и возможности выйти в интернет вы решаете в очередной раз покопаться в библиотеке бесплатной музыки, которую разработчики п...

iPhone 11 быстрее iPhone 11 Pro? Не спешите с выводами iPhone 11 Pro Max в матовом цвете смотрится круто Продажи iPhone 11, iPhone 11 Pro и iPhone 11 Pro Max еще не начались, что не мешает первым обладателям новых смартфонов делиться свежими подробностями. Как правило, новые сведения поступают от сотрудников магазинов Apple, кот...

Круиз-контроль Hyundai на базе ИИ будет учиться у водителя Компания Hyundai Motor Group сообщила о разработке «умного» круиз-контроля на базе искусственного интеллекта (Smart Cruise Control, SCC-ML), который будет выстраивать индивидуальный алгоритм беспилотного движения в соответствии со стилем вождения владельца автомобиля. Если д...

Производители закладывают основу для повышения цен на DRAM По данным аналитиков TrendForce, контрактные цены на память DRAM для компьютеров в августе стабилизировались. Средняя цена модуля объемом 8 ГБ осталась неизменной, удержавшись на уровне 25,5 доллара. Точных данных за сентябрь пока нет, но большинство признаков указывает...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 4 ← Часть 3. Косвенная адресация и управление потоком исполнения Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 4. Программирование периферийных устройств и обработка прерываний В этой части поста мы, как и обещали, займемся одним из самых востребован...

[Перевод] Выжимаем максимум из графических калькуляторов: игры на TI-83 В 80-х и 90-х не каждому ребёнку родители покупали Game Boy. Я был одним из таких детей, и оставался единственным на игровой площадке, у кого не было GB. Вместо консоли у меня был графический калькулятор. Мой отец горел сильным желанием с детства готовить меня к SAT. Поэто...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

Распространители вымогателя Shade активизировались В январе спам-кампания по распространению вымогателя Shade, также известного под названием Troldesh, возобновилась с новой силой. По сведениям аналитиков из компании ESET, на этот раз она идет через массовую рассылку электронных писем с вредоносными JavaScript-вложениями. Ча...

Дональд Трамп: Google должен быть проверен на предмет возможных связей с Китаем Президент США Дональд Трамп написал в Twitter, что его администрация проверит Google на предмет возможных связей с Китаем. Это заявление последовало за выступлением известного венчурного инвестора и миллиардера Питера Тиля на National Conservatism Сonference, в ходе которого...

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

СКУД моего ЖК — безопасность на двух болтах Спешу предупредить читателей: Данная статья написана только для ознакомления, и ни в коем случае не призывает к любым противоправным действием. Автор не несет ответственности за любые неправомерные действия совершенные людьми с использованием информации из данной статьи. Пр...

ООП, «святая троица» и SOLID: некоторый минимум знаний о них Необходимое вступление Я не гарантирую, что изложенные здесь трактовки общепринятых терминов и принципов совпадают с тем, что изложили в солидных научных статьях калифорнийские профессора во второй половине прошлого века. Я не гарантирую, что мои трактовки полностью разделя...

Краткий обзор программы HolyJS 2019 Piter и ссылки на онлайн-трансляции Уже завтра начнётся седьмая по счёту конференция HolyJS. С каждым годом работа над её программой всё сложнее не только из-за стремительного развития и взросления JS-экосистемы, но и из-за роста качества и количества заявок. В этот раз программному комитету пришлось разоб...

Google решила сделать Android внешне похожей на iOS Одна из основных претензий к Android со стороны пользователей состоит во внешней несогласованности интерфейса ОС. Речь, конечно, идет о разношерстности иконок игр и приложений, загружаемых из Google Play. Из-за отсутствия четко сформулированных правил разработчики под Andro...

Виртуальная машина на ESP8266 для запуска игр VM, написанная неуверенной рукой гуманитария в среде программирования Arduino с использованием быдлокода и велосипедов. А еще есть компилятор для нее из си-подобного языка, написанный на JavaScript теми же методами. Да. Уже можно спешить в комментарии, бросать камни. Ну а те...

[Из песочницы] Программатор для EPROM на Arduino Понадобилось при изучении и ремонте компьютеров, которые старше меня, прошивать ПЗУшки. Тесты оперативной памяти и периферии проводить. Нормального программатора у меня на тот момент не было. Читать дальше →

Mattermost. Интеграция с внешними сервисами (часть 2) Продолжим разбираться с mattermost в части интеграции с внешними сервисами. Часть вторая. Интеграция с Zabbix Во второй части повествования о интеграции mattermost, речь пойдет про отправку сообщений об авариях из zabbix в mattermost. В результате поисков в сети был взят за ...

[Из песочницы] Управление подставкой для ноутбука с помощью digispark Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат. Читат...

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

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

Xiaomi Redmi Note 7 на максималках - прошивка, перепрошивка, ... смартфон Redmi Note 7 на максималках Компания Xiaomi начинала свой путь с разработки своей собственной прошивки для смартфонов, которая была основана на Android и называлась MIUI. Собственно, в числе прочего, этим они занимаются и до сих пор, предустанавливая MIUI, но уже в ...

Еще одна система мониторинга 16 модемов, 4 сотовых оператора= Исходящая скорость 933.45 Мбит/с Введение Привет! Это статья про то, как мы написали для себя новую систему мониторинга. От существующих она отличается возможностью высокочастотного синхронного получения метрик и очень маленьким потребление...

[Из песочницы] Перенос стиля Перенос стиля это процесс преобразования стиля исходного к стилю выбранного изображения и опирается на Сверточный тип сети (CNN), при этом заранее обученной, поэтому многое будет зависеть от выбора данной обученной сети. Благо такие сети есть и выбирать есть из чего, но здес...

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

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

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

Мой собственный Spot Mini Всем доброго времени суток. Давно я тут ничего не писал, наконец, появился повод. Последние полгода я занимаюсь проектом «робособаки» (не дает покоя слава Boston Dynamics).  Основные трудности - это конечно, ПО, но поскольку 3Д печать тоже присутствует, я решил написать...

Как изменить размер уже напечатанного текста на Android Как изменить размер уже готового текста Вам не кажется, что все наши переписки стали уравновешеннее? Если раньше мало кто стеснялся для выражения своих чувств при наборе сообщения в социальной сети воспользоваться капслоком, то теперь послания стабильно пишутся строчными бук...

Что делать, если при запуске Mac горит «яблоко» и система не загружается После обновления на последнюю версию macOS многие столкнулись с проблемой, когда при включении компьютера Mac операционная система отказывается загружаться — на черном экране просто «горит» знакомое яблоко, но ничего не происходит. Как оказалось, проблема носит массов...

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

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

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

Стали известны параметры видеокарт от Radeon 610 до Radeon RX 640 С выходом видеокарт поколения Navi компания AMD снова сменила формат названий адаптеров, что в последние годы делала уже не раз. Однако позже нам пообещали, что в ближайшие годы AMD будет придерживаться новых принципов именования карт. Таким образом, следующее поколени...

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

[Из песочницы] Почему Вы должны попробовать FastAPI? Лого взято из Github репозитория FastAPI FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hi...

Для смартфонов серии Huawei Mate 30 разблокируют загрузчик На этой неделе дебютировали флагманы семейства Huawei Mate 30. Они получили стильный дизайн, топовое железо и отличные камеры. Но у этих моделей есть один недостаток — они лишены сервисов Google. Из-за развернувшейся торговой войны между США и Китаем, компания стала р...

[Перевод] Яма продуктивности: как Slack вредит нашему рабочему процессу Такие программы для работы, как Teams, Slack и Workplace, должны были увеличить нашу продуктивность. Но не сделали этого. Несколько человек пишут сообщения. [Several people are typing.] Если вы какое-то время сидели в слаке, вы, вероятно, видели такое сообщение, плавающее...

Tesla будет выпускать квадроцикл На днях компания Tesla представила электрический пикап Cybertruck. Тогда же, на презентации, был показан и квадроцикл, однако не было уточнено, будет ли он продаваться. Несколько позже, впрочем, глава Tesla Илон Маск написал в Twitter, что электрический квардоцикл вначале бу...

[Из песочницы] Что такое информация? Исследование How Much Information, проведенное в 2009 году показало, что количество потребляемой в неделю информации с 1986 года выросло в 5 раз. С 250 тысяч слов в неделю до 1,25 миллиона! С тех пор это цифра увеличилась в разы. Далее следуют более ошеломительные показатели...

Непрерывное профилирование в Go pprof — основной инструмент профилирования в Go. Профилировщик включен в стандартную библиотеку Go и про него, за годы, написано уже очень много. Чтобы подключить pprof в существующее приложение нужно просто добавить одну строчку кода: import _ “net/http/pprof” В HTTP-сервер...

[Перевод] Большая часть текстов в интернете написана безумцами Я обнаружил пост, написанный несколько лет назад, где перечислено, какой процент пользователей reddit оставляет записи на этом сайте: В Askreddit около 15 уникальных посетителей и 500 000 комментаторов. В /r/pics и /r/funny 10 млн посетителей и 200 К комментаторов. В /r/...

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 13. Настройка VLAN Сегодняшний урок мы посвятим настройкам VLAN, то есть попробуем проделать всё то, о чем говорили на предыдущих уроках. Сейчас мы рассмотрим 3 вопроса: создание VLAN, присваивание портов VLAN и просмотр базы данных VLAN. Откроем окно программы Cisco Packer tracer с нарисован...

[Перевод] Отлаживаем сетевые задержки в Kubernetes Пару лет назад Kubernetes уже обсуждался в официальном блоге GitHub. С тех пор он стал стандартной технологией для развёртывания сервисов. Теперь Kubernetes управляет значительной частью внутренних и публичных служб. Поскольку наши кластеры выросли, а требования к производ...

TA505 применяет новое вредоносное ПО для фишинговых атак Исследователи компании Proofpoint сообщили о появлении двух новых вредоносов — бэкдора ServHelper и трояна FlawedGrace, позволяющего получить полный доступ к устройству и похищать данные. Группировка TA505 начала использовать их с ноября 2018 года в фишинговых атаках, нацеле...

[Перевод] Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных. Если честно, я сдался и о...

Закон Галла: что он гласит и как применяется в IT Рассказываем, в чем суть закономерности, как она себя проявляет и что бывает, когда эту закономерность не учитывают в процессе проектирования и разработки IT-систем. Фото — Spencer — Unsplash В книге «Сам себе MBA. Самообразование на 100%», написанной Джошом Кауфманом (Jo...

Подробнее о дате выпуска Windows 10 версии 1909 Windows 10 версии 1909 (под кодовым названием 19H2) должна была появиться 2 октября, но теперь кажется, что обновление будет завершено только лишь в конце этого месяца.Windows 10 версии 1909, которая является небольшим обновлением функций для Windows 10 версии 1903, может бы...

XMrig атакует через PowerShell-скрипты и EternalBlue Эксперты Trend Micro обнаружили криптоджекинговую кампанию, которая объединила в себе несколько вредоносных PowerShell-скриптов и эксплойт EternalBlue. Атаки злоумышленников направлены на пользователей в странах Азиатско-Тихоокеанского региона. Для доставки майнера XMrig на ...

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

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

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

Поиск похожих изображений, разбор одного алгоритма Пришлось мне недавно решать задачку по оптимизации поиска дубликатов изображений. Существующее решение работает на довольно известной библиотеке, написанной на Python, — Image Match, основанной на работе «AN IMAGE SIGNATURE FOR ANY KIND OF IMAGE» за авторством H. Chi Wong...

Продуктовый дайджест за сентябрь Привет, Хабр! Я экспериментирую с форматом, поэтому решил написать этот дайджест. Не так важно, кто ты, самое важное — твой интерес к digital и желание узнать чуть больше про управление продуктом. Обещаю писать много про это, но не только. Основные новости будут из разных...

Инструкция по установке Google-сервисов на Huawei Mate 30 и Mate 30 Pro Всего 10 минут времени, никаких разблокировок загрузчиков и получения рут-прав. Новые смартфоны линейки Mate 30 хороши […]

GandCrab распространялся вместе с загрузчиком CracksNow Пиратский загрузчик CracksNow был изгнан с нескольких торрент-трекеров после того как выяснилось, что его дистрибутив содержит вымогатель GandCrab. Аккаунты авторов программы были заблокированы после многочисленных жалоб пользователей, сообщавших о шифровании их файлов. Адми...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

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

Довольно вычурные «Начала» Евклида в TeX-е «какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений ...

Древности: Psion 5MX и жизнь на пенсии Почти десять лет назад я написал один из первых своих постов на Хабр про карманный компьютер Psion 5MX. Уже тогда этот клавиатурный КПК был хоть и приятным, но напрочь устаревшим устройством, и настроение статьи было соответствующее: жалко, но пора отправлять девайс на пенси...

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

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

Как перенести все данные со старого Mac на новый Многие знают, что в macOS есть такой замечательный инструмент для переноса данных как «Ассистент миграции». Утилита позволяет в два счёта «переехать» со своего старого Mac на новый. Никаких сторонних приложений и никаких сложностей — всё максимально просто, быстро и н...

Компилятор Huawei Ark Compiler для HarmonyOS сравнили с пачкой лапши быстрого приготовления Как известно, представленные на днях смартфоны Huawei Mate 30 и Mate 30 Pro не имеют магазина приложений Google Play и сервисов Google. Пользователи смогут сами установить это ПО, так как загрузчик в новых аппаратах будет разблокированным (или его можно будет разблокиро...

Проектируем космическую ракету с нуля. Часть 3 — Ужепочти-решение задачи двух тел Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Движение в плоскости Осталось сделать последний штрих. Решить это уравнение: где — относительное расстояние между телами. В прошлом выпуске было показано, что при значительн...

Utreexo: сжимаем множество UTXO Bitcoin Привет, Хабр! В сети Bitcoin все узлы в ходе консенсуса соглашаются над множеством UTXO: сколько монет доступно для траты, кому именно и при каких условиях. Множество UTXO — это минимально необходимый для узла-валидатора набор данных, без которого узел не сможет удостоверит...

Загрузчик Huawei Mate 30 Pro разблокируют в ответ на американские санкции Китайская компания Huawei подтвердила, что пользователи могут разблокировать загрузчик в Huawei Mate 30 Pro, отменив решение об удалении этой функции, которое было сказано представителями компании еще в мае 2018 года.

[Из песочницы] Телефонный справочник из таблиц SQL Asterisk FreePBX (web-справочник, выгрузка в xml-файл для телефонов Grandstream) Для изучения могут пригодиться следующие моменты. 1) Подключение к серверу SQL для выполнения запросов: mysql -u freepbxuser -p после нажатия Enter будет запрошен пароль для пользователя. После ввода пароля и нажатия Enter, будет выведено приглашение MySQL: mysql>_ 2)...

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

[Из песочницы] Снова про phpQuery Приветствую всех. Недавно я взял заказ, где нужно было автоматически подтягивать данные на сайт (проще говоря — написать парсер). Содержание статьи: Предисловие Про phpQuery Начало работы Практическая часть Заключение Читать дальше →

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

iOS Storyboards: анализ плюсов и минусов, best practices Apple создала Storyboards, чтобы разработчики могли визуализировать экраны iOS-приложений и связи между ними. Не всем понравился этот инструмент, и на то есть разумные причины. Я встречал много статей с критикой Storyboards, однако так и не нашел подробного и непредвзятого...

Новая статья: Linux для новичков: знакомимся с Linux Mint 19. Часть 1: установка Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимат...

Почему камеры смартфонов выпирают? iPhone X и Honor 20 Pro Многим не нравится выпирающая камера в смартфоне. Это действительно бич современного устройства этого гаджета. Как было хорошо, когда смартфон мог ровно лежать на столе и не раскачивался от касаний, как пассажир маршрутки на поворотах. Судя по всему, ...

APT-группа Platinum вооружилась бэкдором Titanium Специалисты «Лаборатории Касперского» рассказали о бэкдоре Titanium, который APT-группировка Platinum использует в атаках на организации в Юго-Восточной Азии. Зловред получает команды через код, зашифрованный в PNG-изображениях, и может манипулировать файлами на ин...

Настройка программы Asymptote Из всех хабов этот показался мне наиболее подходящей для этой темы. Итак. Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Я опишу этот процесс для Asymptote 2.35. Итак, вот я скачал эту программу, установил. Если м...

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

[Перевод] Компьютер на базе вентилей NOR: внутри бортового управляющего компьютера «Аполлона» Недавно мы занимались восстановлением бортового управляющего компьютера «Аполлона» – компьютера, занимавшегося управлением, навигацией и контролем на борту миссий «Аполлон», летавших к Луне. Этот исторический компьютер одним из первых начал использовать интегральные схемы (И...

Как IT-компания книжное издательство открывала В последнее время некоторым начинает казаться, будто такой «консервативный» источник информации как книга начинает сдавать позиции и теряет актуальность. А зря: несмотря на то, что мы уже живём в эпоху цифровую и вообще работаем в IT, книжки мы любим и уважаем. Особенно та...

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

[Из песочницы] Пишем никому не нужный эмулятор Доброго времени суток. Довольно давно имелось желание написать эмулятор какого-нибудь процессора. А что может быть лучше, чем изобрести велосипед? Имя велосипеду — V16, от склеивания слова Virtual и, собственно, разрядности. Читать дальше →

Ender 3. Прошивка загрузчика. После просмотра 2-х роликов Ирбиса, решил прошить свой Ender 3 на Marlin 1.1.9.  Но сходу ничего не вышло. И таких в Инете много.Прошивал через Arduino Uno, в качестве программатора. Использовал последнюю версию Arduino IDE 1.8.8 поставил все нужные библиотеки и платфор...

Цифровой прорыв — как это было Это не первый хакатон, который я выигрываю, не первый, про который пишу, и это далеко не первый пост на хабре, посвященный "Цифровому прорыву". Но не написать я не мог. Считаю свой опыт достаточно уникальным, чтобы им поделиться. Вероятно, я единственный на этом хакатоне чел...

[Из песочницы] Алгоритм Дугласа-Пекера Предисловие Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, неск...

Бета-обновление: Lerdge 4.0.0, обновление прошивки WiFi модуля и Lerdge PC Control Буквально день назад "Вопросах и ответах" "промелькнуло и кануло в Лету" сообщение от KurkinAndrey про очередное обновление от Lerdge.Решил немного поднять эту тему.Итак, сначала я не въехал, "где и как" - поскольку на самом сайте самыми последними являются прошивки версии 3...

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

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

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

Комфортный DevOpsSec: Nemesida WAF Free для NGINX с API и личным кабинетом Nemesida WAF Free — бесплатная версия Nemesida WAF, обеспечивающая базовую защиту веб-приложения от атак класса OWASP на основе сигнатурного анализа. Nemesida WAF Free имеет собственную базу сигнатур, выявляет атаки на веб-приложения при минимальном количестве ложных сраба...

OnePlus 8 предложит дисплей с частотой обновления 120 Гц Дисплей с частотой обновления 90 Гц — одна из главных фишек флагманов OnePlus нынешнего года. Теперь пришло сообщение, что компания может добавить экран с кадровой частотой 120 Гц в OnePlus 8.   Об этом написали инсайдеры, знакомые с планами производителя на год...

[Из песочницы] Новый способ угона аккаунтов «оптом» через получение доступа к сервисам оператора сотовой связи Сегодня, буквально несколько часов назад, я обнаружил новый для меня способ мошенничества: попытку получить доступ к личному кабинету моего сотового оператора. Оперативный поиск в сети, а также опрос знакомых айтишников показал, что никто пока этот способ еще не видел в раб...

iPhone 12 будет похож на культовый iPhone 4 Текущему поколению iPhone прогнозируют чуть лучший спрос, чем был у предыдущего. В первую очередь благодаря iPhone 11, который стал дешевле, но и старшие модели должны продаваться чуть лучше. Между тем, мы имеем ситуацию, когда Apple впервые для себя три года подряд не ...

Зачем нужен Change Management? Вопрос без подвоха. Ну почти. Его контекст довольно-таки прост. Если конкретизировать, то он звучит так: «как сформулировать для руководства бизнеса и ИТ, а также для персонала ИТ-департамента преимущества от инвестиций в постановку и автоматизацию процесса управления...

[Перевод] Пишем Android-приложение на ассемблере Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе. Читать дальше →

Новые возможности бэкдора группировки Sednit В августе прошлого года группировка Sednit развернула первые компоненты вредоносной программы Zebrocy. Киберпреступники рассылали фишинговые письма с прикрепленным архивом, в котором содержались исполняемый файл и PDF-документ в качестве приманки.ESET подчеркивает, что групп...

Лазерный гравер для 3D принтера. Подключение, программное обеспечение. Рисунок пластиком.     Я изначально покупал 3D принтер в первую очередь, чтобы развивать и развлекать детей. Само собой, как только на просторах интернета я наткнулся на лазерный гравер для принтера, я тут же разместил заказ и начал готовиться к прибытию обновки. Но к большому сожалению, если ...

[По докам] Flutter. Часть 1. Для Android разработчиков Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучени...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

Кампания ShadowHammer задела сотни тысяч пользователей ASUS Эксперты «Лаборатории Касперского» обнаружили целевую атаку на владельцев ноутбуков ASUS. Чтобы добраться до 600 нужных им человек, преступники взломали официальный сервис для обновления ПО и внедрили в него троян-бэкдор. Вредоносный файл загрузили сотни тысяч поль...

Возможные характеристики Honor 9X Pro: 8 ГБ оперативной памяти и камера с четырьмя датчиками Вчера мы написали о том, что Honor 9X Pro уже получил необходимый сертификат, разрешающий продажу смартфона в России, а сегодня известный сетевой инсайдер Мукул Шарма (Mukul Sharma) опубликовал возможные характеристики и даже стоимость модели. Как сообщается, смартфон ...

Где мы взяли флакон? Flowcon, или Флакон – методика управления, в том числе – задачами. Потоком, проектом, разработкой, рутинными функциями, регуляркой и т.д. Многие, узнав о методике и решениях на ее основе, задают вопросы – что да как, в чем суть, на основе каких «мировых практик» сделано, ка...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

[Перевод] Как работает оптимизирующий компилятор Оптимизирующие компиляторы — основа современного ПО: они позволяют программистам писать код на понятном для них языке, затем преобразуя его в код, который сможет эффективно исполняться оборудованием. Задача оптимизирующих компиляторов заключается в том, чтобы понять, что де...

[Из песочницы] Проблема перехода на зимнее и летнее время для отдельно взятой скайп школы 28 марта на Хабрасеминаре Иван Звягин, главред в Habr, посоветовал написать статью о буднях нашей лингвистической скайп школы. «Людям будет сто пудов интересно, — пообещал он,-сейчас многие создают онлайн школы, и было бы любопытно узнать эту кухню изнутри». Семь лет сущест...

О пиве глазами химика. Часть 3 Привет, %username%. Пока ты копаешься в своём девайсе, мы продолжаем тему о пиве, которую уже частично раскрыли тут, чуть более — тут, но всё ещё не останавливаемся на достигнутом! Я бесконечно рад, что всё-таки решил растянуть это на цикл статей, потому что по комментар...

SpaceX переносит модель «райдшеринга» на запуск спутников Компания SpaceX решила перенести модель «райдшеринга», хорошо зарекомендовавшую себя в сервисе такси, на запуск спутников. Теперь запуск спутников станет удобнее и доступнее для небольших заказчиков. Они смогут резервировать для себя места в планируе...

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

LG Chem обвиняет SK Innovation в краже коммерческих секретов Компания LG Chem и ее дочернее производственное предприятие LGCMI, расположенное в США, подали два иска против южнокорейской компании SK Innovation. Называя себя мировым лидером в производстве литий-ионных аккумуляторных батарей, чьи уникальные технологии используются в...

Как установить Windows на Android-планшет В магазинах, конечно, есть несколько планшетов на Windows 10, которые вы можете приобрести, но планшетов на базе Android гораздо больше, и многие из них даже поставляются с клавиатурами, которые позволяют пользователям работать на них, как на настольном компьютере или на то...

Удаленный мониторинг и управление устройств на базе Linux/OpenWrt/Lede через 80-ый порт, продолжение Это заключительная часть статьи, вот начало. В прошлый раз я написал о том, как реализовал мониторинг устройств, теперь речь пойдет о управлении. В дискуссиях с «технарями» со стороны Заказчика я часто встречаюсь с ограниченным восприятием возможностей таких маленьких устро...

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

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

[Перевод] Трудно быть мейнтейнером проекта Open Source Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой пр...

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

Представлен процессор Intel NNP-T: 24 тензорных ядра, 32 ГБ памяти HBM2 и 27 млрд транзисторов Пару месяцев назад компания Intel представила новый продукт семейства Nervana — процессор NNP-I. Это решение основано на обычном процессоре Ice Lake, из которого «убрали всё лишнее» и добавили блоки DSP. Сегодня на мероприятии Hot Chips 31 компания Int...

Английский по-программистки Чуть менее года назад я всерьез решил подтянуть английский, изучая его самостоятельно всеми доступными методами: прослушивание новостей, подкастов и книг, чтение художественной литературы, в том числе и в слух, ведение дневника и, конечно же, с помощью различных программ. Ст...

[Из песочницы] Создание Google пользователей из PowerShell через API Привет! В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite. В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active ...

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

Вы все еще можете обновить компьютер с Windows 10, если на нем менее 32 Гб памяти Еще в апреле Microsoft обновила свои минимальные системные требования к оборудованию для Windows 10, которые считаются крайне устаревшим списком минимальных спецификаций для ОС. Все, что добавила компания, заключалось в том, что для версии 1903 минимальный объем хранилища дл...

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

[Перевод] Как работает Flutter Как Flutter работает на самом деле? Что такое Widgets, Elements, BuildContext, RenderOject, Bindings?.. Сложность: Новичок Вступление В прошлом году (прим: в 2018), когда я начал свое путешествие в сказочный мир Flutter, в Интернете было очень мало информации по сравнению с...

[Из песочницы] Агрегатор событий для Unity3d (Event Aggregator) Идея написать свой расширенный агрегатор событий для Unity3d назрела давно. Прочитав несколько статей на эту тему, я понял что нет достаточно «правильного» (в рамках Unity3d) и нужного для меня агрегатора, все решения урезаны и не обладают нужным функционалом.  Необходимый ...

Samsung начала работу над технологиями для сетей 6G Сети 5G только начинают работу в некоторых странах мира, а производители уже думаю о следующем шаге. Как сообщают источники, Samsung сформировала исследовательский центр, который будет заниматься технологиями для сетей шестого поколения. За основу была взята группа, за...

Почему нужно бросать всё и изучать Swift и Kotlin прямо сейчас Если у вас не кнопочный телефон, то, наверное, хотя бы раз хотелось создать свое мобильное приложение. Улучшить какой-нибудь таск-менеджер или клиент для Хабра. Или реализовать давнишнюю идею, как те студенты, которые написали приложение для поиска фильмов на вечер за 10 се...

Решение задания с pwnable.kr cmd1, cmd2, asm, blukat. Обходим фильтрацию в Linux. Пишем shellcode с помощью pwntools В данной статье посмотрим как обойти легкий фильтр, разберемся как написать shell c помощью pwntools, а также решим несколько заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информацион...

Расширяем возможности UObject в Unreal Engine 4 Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами. Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та...

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

[Перевод] Рендеринг шрифтов с помощью масок покрытия, часть 1 Когда мы приступали к разработке нашего профилировщика производительности, то знали, что будем выполнять почти весь рендеринг UI самостоятельно. Вскоре нам пришлось решать, какой подход выбрать для рендеринга шрифтов. У нас были следующие требования: Мы должны иметь возмо...

Изменились системные требования Windows 10 May 2019 Update После более чем шести месяцев разработки и тестирования Windows 10 19H1 первый крупный запуск весеннего обновления практически готов к глобальному внедрению. И, как следует из названия, развертывание Windows 10 May 2019 Update начнется с мая месяца.В интересах беспрепятствен...

[Из песочницы] Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм Задача кажется простой, когда ничего про нее не знаешь и когда решил. В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”. Мне нравится Телеграм заложенными в него возможностями в то...

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

Xiaomi Pocophone F1 получил официальную поддержку TWRP Как мы уже сообщали, TWRP (Team Win Recovery Project) является одним из самых популярных кастомных рекавери среди пользователей, которые сами прошивают свои устройства. TWRP позволяет быстро установить на смартфон прошивки с минимальными рисками. Ранее пользователи Xiao...

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

Принтер для мелочевки. Здравствуйте. Долго думал, мечтал и наконец приобрел принтер Anycubic Photon S. Это мой первый принтер, который печатает "жижей". "Стол" в ноль и понеслась печать всего, что под руку попалось. Сначала был неприятно удивлен, что косяков при такой печати тоже хватает: засветка...

[Из песочницы] Как устроена локализация в Netflix — перевод Привет, Хабр! Представляю вашему вниманию перевод материала «Localization Technologies at Netflix», написанного командой Netflix про внутренние процессы локализации и программы, разработанные специально для этого. Программа локализации в Netflix базируется на трех принци...

Выручка от продаж памяти NAND всего за квартал упала на 23,8% Специалисты DRAMeXchange, подразделения аналитической компании TrendForce, пришли к выводу, что традиционный сезонный спад первого квартала в этом году дополнили другие факторы, в результате чего выручка от продаж флеш-памяти NAND всего за квартал упала на 23,8%. В перв...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

Angelina Jolie as Lara Croft прототип. Пару месяцев назад решил заказать разработку модели для Мотоцикла по одноименному фильму, оказалось немного трудно создать позу на мотоцикле в вертикальном положении, пока дорабатывается поза было решено создать статуэтку в положении стоя.Долго думали какую позу создать, и о...

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

Пишем ITIL 08.08 (жаль, что не 0808 года) в составе ITIL выходит новая публикация, посвященная обзору практики Service Level Management. Я являюсь одним из авторов данного материала, второй, ясное дело, – Роман Журавлев. Поскольку дата официальной публикации уже близко, позволю себе ...

ASUS опубликовала утилиту для разблокировки загрузчика и исходный код прошивки нового флагманского смартфона ZenFone 6 На прошлой неделе ASUS представила свой новый флагманский смартфон ZenFone 6, который получился очень удачным во всех смыслах устройством. Собственно, со всеми особенностями и параметрами новинки с необычной откидной камерой, одновременно выступающей основной и фронтальной, ...

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

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

[Перевод] Десять заповедей React компонентов Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол...

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

Книга «Мой друг магнитофон» Давно хотел написать о замечательной книге М. Згута «Мой друг магнитофон». Хотя она и не относится к теме 3D печати, стоит её прочитать!.https://mexalib.com/view/36944https://krsk.au.ru/10418407/http://rt22.ru/viewtopic.php?f=43&t=47761.Книга очень тёплая и ламповая. Читаетс...

[Из песочницы] Эволюция продаж в компании Н Простая маленькая компания Н. в городе П. занималась продажами стройматериалов. После десяти лет успешной работы на местном рынке компания Н. решила создать интернет-магазин и выйти на рынок нашей любимой страны. Благо имелись небольшие подразделения/склады в Спб. и Мск. В...

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

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

BLoC паттерн на простом примере И еще раз про BLoC на классическом примере счетчика Flutter. Читая некоторые статьи про реактивное программирование и используя BLoC паттерн в приложениях я понимал, что чего-то не догоняю. Как обычно на все не хватает времени, но вот, выдался свободный час и силы есть — реш...

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

[Из песочницы] Модуль подводного ультразвукового дальномера Это устройство появилось на свет в процессе работы над проектом компьютера для дайвинга, который в своём составе должен был иметь узколучевой сонар-дальномер. То ли мы плохо искали, то ли, действительно, на рынке ничего подходящего по параметрам нет в продаже, но в итоге, ...

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

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

C Новым 2019 годом — конкурс Друзья, уже настал Новый год на Дальнем востоке, огромными шагами он идет к каждому из нас. Поздравляем всех с Новым годом, желаем всем профессионального роста, бизнесу — много клиентов, чтобы все наши мечты и безумные идеи исполнялись! Для того, чтобы праздник был веселе...

Не ради рекламы, а благодарности ради. Здравствуйте друзья тридэшники!!! Решил на днях заказать пару катушек пластика, т.к. я печатаю в основном для себя, то обычно заказываю не дорогой пластик, зашел на сайт BF посмотреть, что есть по акции или переходный купить, в итоге заказал 3 катушки переходного пластика 1 ...

Для борьбы с Xiaomi и Samsung. LG представила смартфоны W10, W30 и W30 Pro Компания LG представила новую линейку смартфонов LG W. Линейка стартовала в Индии, где будет продаваться исключительно онлайн. Напомним, таким образом LG хочет пойти по стопам Samsung и попробовать конкурировать с Xiaomi и другими брендами, предлагающими недорогие смарт...

Как загрузить YouTube-видео на Android-смартфон Хотите загрузить видео из YouTube на смартфон? Мы поможем вам это сделать. На крайне популярном видеохостинге YouTube каждый может найти контент, который ему по душе. Однако бывает так, что нам нужно скачать какой-то ролик для того, чтобы посмотреть его в дальнейшем. Конечно...

Как сделать GeForce RTX 2080 Ti Super своими руками при помощи паяльника Как мы уже сообщали, компания Nvidia всё же может выпустить на рынок видеокарту GeForce RTX 2080 Ti Super. От обычной RTX 2080 Ti такой адаптер может отличаться использованием полного GPU TU102 со всеми 4608 активными ядрами CUDA, повышенными частотами, а также памятью ...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

Редакция 3DNews ищет авторов новостей Редакция 3DNews ищет авторов новостей Hardware и Software. Если вы разбираетесь в мире информационных технологий, умеете грамотно, быстро и интересно писать, у вас есть не менее трёх часов свободного времени в день и вам нравится готовить публикации на тему IT — напишите нам...

Buildbot в примерах Потребовалось мне настроить процесс сборки и доставки на сайт пакетов программ из Git-репозитария. И увидев, ни так давно, тут на Хабре статью по buildbot (ссылка в конце) решил для этого попробовать его и применить. Так как buildbot — это распределённая система, то будет ло...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

SK Hynix: DDR5 уже готова, переходим к разработке DDR6-памяти Технологии динамической памяти продолжают своё развитие. Несмотря на то, что появление DDR5 SDRAM ожидается лишь в 2020 году, некоторое время тому назад компания SK Hynix, занимающее место второго по величине производителя DRAM, приступила к разработкам следующего поколения ...

Моддеры вернулись к созданию фанатского ремейка Fallout 3 на базе Fallout 4 В прошлом году прекратилась разработка модификации Fallout 4 под названием Capital Wasteland из-за потенциальных проблем с авторскими правами. Мод представляет собой ремейк Fallout 3, но его создатели не могли использовать озвученные реплики оригинальной игры. Тепер...

В iOS 13 появится поддержка мыши для iPad Предстоящая ежегодная всемирная конференция Apple - это крупнейшее событие года, на котором также будет представлена ​​iOS 13. Ожидается, что итерация ОС в этом году принесет ряд улучшений удобства использования, одним из которых может быть поддержка USB мыши на iPad, сообща...

Если хочется светильник, но не хочется как у всех. Добрый деньИзначально идея со светильником я подсмотрел скорее всего у Xiaomi, есть у них лампа Xiaomi Mi Home. Уж больно мне концепция понравилась, настольная/прикроватная лампа с мягким теплым свечением, плюс беспроводное управление.Так выглядит Xiaomi mi home, а вот так в...

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

[Из песочницы] Справочник начинающего подкастера Эта статья — краткое руководство для тех, кто хочет запустить свой собственный подкаст. Когда я вместе с моим нынешним соведущим год назад запускал подкаст “В бесконечность и далее”, я не смог найти ни одной по-настоящему всеобъемлющей статьи. Поэтому я решил попытаться запо...

Как переустановить macOS используя Internet Recovery Почему многие пользователи при выборе компьютера отдают предпочтение Mac? Ответ очевиден: это надежность, безопасность, простота использования и высокая стабильность работы. Последние версии macOS настолько отточены, что пользователи почти не встречаются с программными ошиб...

[Перевод] Go += управление версиями пакетов Статья написана в феврале 2018 года В Go необходимо добавить версионирование пакетов. Точнее, нужно добавить концепцию версионирования в рабочий словарь разработчиков Go и в инструменты, чтобы все употребляли одинаковые номера версий при упоминании, какую именно программу...

Run, Gopher, run! — о чем поговорим на GolangConf Мы обещали 5-6 причин перейти на Go, так и получилось! На GolangConf — конференции полностью посвященной Go — 7 октября будет 5 докладов с пометкой «Переход на Go» для тех, кто только собирается или начинает использовать этот язык в своих проектах. Но это только начало. С п...

Платформа Bakkt назвала размер минимального депозита для торговли биткоин-фьючерсами Intercontinental Exchange (ICE), оператор криптовалютной платформы Bakkt, сообщил официальные требования к размеру минимального депозита для участия в торговле биткоин-фьючерсами, запуск которых должен состояться до конца сентября. Согласно публикации на ICE Futures U.S., дл...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

[Из песочницы] Интервью с Владимиром Лихачевым, отцом Николая Лихачева, более известного как Крис Касперски Привет, Хабравчане! Вот уже не в первый раз я приезжаю в гости к Владимиру Лихачеву, отцу Криса Касперски, чтобы проведать и навестить его. Во второй раз он мне не отказал и разрешил взять у него интервью с которым я и делюсь с Вами. Первично текст размещен в журнале «Систе...

[Перевод] Мое видение будущего D Когда Андрей Александреску покинул пост заместителя руководителя отдела языка программирования D, меня попросили взять на себя эту роль в будущем. Нет необходимости говорить об этом, но я все равно скажу, что эта шапка на меня великовата. Я все еще вхожу в свою новую роль в...

Как проходил первый хакатон на The Standoff На PHDays 9 впервые в рамках кибербитвы The Standoff состоялся хакатон для разработчиков. Пока защитники и атакующие в течение двух дней боролись за контроль над городом, разработчики должны были обновлять заранее написанные и развернутые приложения, а также обеспечивать и...

[Из песочницы] Как я боролся с Shared Element Transition и написал свою первую opensource библиотeку Нет повести печальнее на свете, чем повесть о ViewPager’e и SET’e Хочется предупредить, что автор ‒ новичок андроид, поэтому статья содержит столько технических неточностей, что вас, скорее, нужно предупредить о том, что в статье могут встретиться технически достоверные...

Утечка данных покупателей магазинов re:Store, Samsung, Sony Centre, Nike, LEGO и Street Beat На прошлой неделе издание Коммерсантъ сообщило, что «базы клиентов Street Beat и Sony Centre оказались в открытом доступе», но на самом деле все гораздо хуже, чем написано в статье. Подробный технический разбор данной утечки я уже делал у себя в Telegram-канале, поэтому ту...

HDMI-адаптер Apple оказался мини-компьютером с 256 МБ оперативки Вы когда-нибудь задавались вопросом, почему адаптеры и переходники собственного производства Apple такие дорогие? Большинство из тех, кого мне удалось опросить, отвечали, что хорошая вещь не может стоить дешево, или ссылались на встроенные контроллеры, которые уберегают го...

[Перевод] Инструментарий для анализа и отладки .NET приложений Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в коммента...

Как запустить функцию Sidecar на старых Mac Во время презентации iPadOS и macOS Catalina Apple уделила отдельное внимание новой функции Sidecar, которая позволяет выводить изображение с компьютера прямо на планшет. Помимо этого, с ее помощью возможна работа с контентом: например, пользователи могут делать зарисовки и...

Тест ювелирного принтера JAP J Приветствую Коллеги.Довелось мне попробовать в работе фотополимерный принтер который делает Владимир.Его ник на портале 3DLab.Он разрабатывает и изготавливает принтеры сам. Есть много статей на портале о том как их собирать, какие комплектующие использовать.Последняя его раз...

[Перевод] Записки фрилансера: разработка первого React Native-приложения Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему приш...

Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году Привет, Хабр! Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH. Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические ...

Описание архитектур процессоров в LLVM с помощью TableGen На данный момент LLVM стала уже очень популярной системой, которую многие активно используют для создания различных компиляторов, анализаторов и т.п. Уже написано большое количество полезных материалов по данной тематике, в том числе и на русском языке, что не может не радов...

Из-за тёмной темы Thunderbird пришлось запускать анализатор кода «Приключение» с почтовым клиентом Mozilla Thunderbird началось с автоматического обновления на версию 68.0. Заметными особенностями этой версии было вот что: больше текста добавляется во всплывающие уведомления и тёмная тема по умолчанию. Повстречалась ошибка, которую захоте...

Python из C В прошлом году появилась необходимость дополнить старый проект написанный на C функционалом на python3. Не смотря на то, что есть статьи на эту тему я помучился и в том году и сейчас когда писал программы для статьи. Поэтому приведу свои примеры по тому как работать с pytho...

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

Основная камера Huawei Mate 30 Pro удостоилась высшего ... Одной из ключевых особенностей Huawei Mate 30 Pro стала тыльная основная камера с четырьмя датчиками. Как оказалось, китайские инженеры вновь хорошо потрудились над фотовозможностями флагмана что позволило ему получить высокую оценку рейтинга DxOMark и даже возглавить его. &...

[Из песочницы] Spacewalk на Рождество Привет, Хабр! Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка. Ввиду того, что досту...

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

Установка Windows через Windows Deployment Services и Microsoft Deployment Toolkit Как было написано в одной умной книге — если в вашем IT-отделе нет автоматизированной установки операционной системы, то её создание может быть самой важной задачей, которую вы когда-либо выполняли. Читать дальше →

WWDC 2011: iCloud, по другую сторону экрана Для пользователей iCloud – магия. Заколдованные этой магией данные достаточно ввести на одном из устройств, и они моментально появляются на всех устройствах пользователя. С точки зрения разработчика, решившего “заколдовать” свои приложения, освоение iCloud не было непреодол...

Мировая ядерная энергетика в 2018 году Обзор основных изменений, произошедших с ядерной энергетикой за прошедший год. В 2018 году атомная энергетика отыгрывалась за провалы вводов 2017 года — было подключено к сети 10400 мегаватт новых мощностей (против 3305 мегаватт в 2017), и при этом закрыто 2827 мегаватт с...

И снова он: Apple в третий раз вернула iPhone SE в продажу Только мы успели написать про то, что оператор T-Mobile посредством своей сети Metro условно бесплатно раздаёт смартфоны iPhone SE, как Apple в третий раз вернула этот смартфон в продажу на своём сайте. Уточним, на момент написания предыдущей новости он там отсутствовал...

[Перевод] RethinkDB: почему мы закрылись Когда мы объявили, что RethinkDB закрывается, я пообещал написать критический анализ посмертно. Я взял некоторое время, чтобы переосмыслить полученный опыт, и сейчас могу его четко изложить. Читать дальше →

Разбор камеры Oppo Reno Камеры Periscope - это способ обеспечить большие фокусные расстояния в тонком форм-факторе смартфона. Но как они работают? Видео, демонстрирующее разборку камеры Oppo Reno, может пролить свет на это. Модуль перископа имеет размеры всего 23,5 х 11,5 х 5,73 мм. В целом...

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

Как найти новую музыку, которая понравится? Нам это удалось Мы не часто предлагаем обсудить темы, которые прямо не касаются мира Android, но уверены, что процесс установки очередного обновления или разблокировки загрузчика многие из вас сопровождают прослушиванием музыки. Так почему бы не отложить на время любимые гаджеты и не послу...

Как взять сетевую инфраструктуру под свой контроль. Часть третья. Сетевая безопасность Т.к. эта глава получается довольно объемной, то я решил публиковать ее по частям. Сетевая безопасность. Часть первая. Нет смысла говорить о полном устранении security рисков. Мы в принципе не можем снизить их до нуля. Также нужно понимать, что при стремлении сделать сеть...

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

[Из песочницы] Рецензия на перевод «Если софт создаётся на общественные деньги, код должен быть открыт» Прочитал статью-перевод «Если софт создаётся на общественные деньги, код должен быть открыт» которая вызвала двоякое чувство. С одной стороны идея кажется правильной, но в статье описано несколько принципиальных проблем, которые вольно или невольно оказывают читателям медвеж...

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

Windows 10 версия 1903 — минимум 32 ГБ дискового пространства В Microsoft изменили требования к объему устройства хранения для установки операционной системы. Теперь, в Windows 10, начиная с версии 1903 (это обновление ожидается в мае 2019 г.), минимально необходимый для функционирования операционной системы объем свободного дисково...

Группировка Fin7 обновила арсенал Кибергруппировка Fin7 включила новые инструменты в свой набор вредоносных программ и продолжает атаки на коммерческие организации, несмотря на арест трех участников в 2018 году. К такому выводу пришли специалисты компании FireEye после анализа нескольких новых инцидентов, пр...

Бывший инженер Google: поисковик не использовал PageRank с 2006 года Бывший инженер Google Джонатан Танг (Jonathan Tang) заявил, что компания не использовала PageRank с 2006 года. Он написал об этом в обсуждении на форуме Hacker News. Согласно профилю в LinkedIn, Танг работал в команде поиска с 2009 по 2014 год. Он занимал пост старшего инжен...

Фотографии с производства OnePlus TV Известный индийский инсайдер Мукул Шарма (Mukul Sharma) опубликовал на своей страничке в социальной сети Twitter фотографии с производства умного телевизора OnePlus TV. Как уже было отмечено ранее, никаких неожиданностей в плане дизайна OnePlus TV не предложит. Но в слу...

Запуск SAP GUI из браузера Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться. Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник...

8BitDo Zero 2 - это контроллер размером с брелок Последний аксессуар для Nintendo Switch от 8BitDo представляет собой супер крошечный контроллер размером с брелок. В нем отсутствуют аналоговые элементы управления и имеется только один D-pad - вибрация также отсутствует, но он должен быть идеальным для игр, которые тр...

[Перевод] Гниение программного обеспечения В книге «Электромагнитная эпоха: работа, любовь и жизнь, когда роботы правят миром» Робин Хэнсон кратко обсуждает программную гниль: Программное обеспечение изначально было разработано для одного набора задач, инструментов и ситуаций. Но оно медленно изменяется, чтобы справ...

[Из песочницы] Библиотека генератора ассеблерного кода для микроконтроллеров AVR. Часть 1 Библиотека генератора ассеблерного кода для микроконтроллеров AVR Часть 1. Первое знакомство Добрый день, уважаемые хабаровчане. Хочу предложить Вашему вниманию очередной (из имеющегося великого множества) проект, для программирования популярных микроконтроллеров серии AVR. ...

[Из песочницы] Метеостанция Arduino Метеостанция Arduino Я решил написать подробную статью, рассказывающую все аспекты создания метеостанции Arduino, по скольку сразу сложно охватить весь процесс. Мое исполнение метеостанции удобно тем, что ее данные сохраняются на компьютере. Что необходимо локальная сеть, п...

Apple S1: загадка, укрытая тайной Представляя Apple Watch 9 сентября 2014 года, о процессоре используемом нём даже не упомянули. А зачем? Apple собиралась продавать, миллионными тиражами, Apple Watch. В них, естественно, был какой-то чип, скорее всего собственной разработки – но круговое колесико и датчики ...

[Перевод] Назад к микросервисам вместе с Istio. Часть 1 Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле ...

[Перевод] Swift: ARC и управление памятью Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руко...

Хранение фотографий на DVD-дисках в 2K19-м (в 2190-м? в 2238-м?) Первая цифровая фотокамера у меня появилась 14 назад. Тогда же возникла и проблема хранения фотографий. К счастью, в то время она решалась быстро и однозначно — записать на диск, и точка. Внешние HDD, да и внутренние тоже, тогда стоили дорого. SSD-дисков, по-моему, вообще н...

ИК-пульт на stm32 Описание библиотеки для считывания, декодирования и последующей отправки инфракрасных сигналов от различных бытовых пультов, с помощью микроконтроллера stm32. За основу взята билиотека IRremote для ардуино, и адаптирована под stm32. Читать дальше →

Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть вторая Этот пост — продолжение первой части, где был представлен скрипт Expand Clipping Mask и детально описано, что и как он делает, а также попутно рассмотрены основные принципы создания подобных программ в целом. В этой части я продолжу рассказ о том, как добавить в программу но...

Google в будущем сможет обновлять любые Android-смартфоны? Фрагментация является одной из главных проблем Android, однако всё не так плохо. Согласно статистике, благодаря Project Treble производителям удалось серьёзно ускорить процесс обновления смартфонов, но этого недостаточно. Например, владельцы смартфонов Samsung ожидают по 6-...

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

[Из песочницы] Антипаттерны в React или вредные советы новичкам Привет, Хабр. Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад н...

System76 выпустила ноутбуки с загрузчиком Coreboot — свободным аналогом UEFI Компания System76 из Денвера (штат Колорадо, США), занимающаяся выпуском ноутбуков, настольных и серверных систем, представила лэптопы Darter Pro и Galago Pro на базе процессоров Intel Comet Lake-U. Фирма давно известна в качестве приверженца...

Какие компании претендуют на развитие технологий «Цифровой экономики» До конца февраля должны пройти конкурсы по выбору компаний, которые напишут «дорожные карты» по каждому из девяти основных направлений программы «Цифровая экономика». За право провести эту работу поборются сразу несколько игроков.

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

Вода камень точит Давным-давно я написал статью на хабр с названием «Интенсивность важнее тщательности» про то, что лучше увеличить количество попыток сделать что-то, чем продолжительность одной попытки. Теперь я хочу дополнить эту мысль. Основная идея: разделяйте работу на рабочие сессии ...

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

Как работает криптография на основе эллиптических кривых в TLS 1.3 Пара предупреждений читателю: Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола T...

ESET изучила новый арсенал хакерской группировки Turla Недавно ESET зафиксировала несколько кибератак на дипломатические учреждения в Восточной Европе. Во всех случаях использовались скрипты PowerShell, которые позволяют загружать и запускать вредоносные программы прямо в памяти.Этот способ более эффективен для сокрытия вредонос...

[Из песочницы] Сериализация данных на уровне базы Привет, Хабр! Сидел я как-то и пытался отдать фронту JSON с объектами недвижимости, у которых была масса зависимостей. На бэке стояла Symfony 4, knp pagination и JMSSerializer, ну в принципе стандартные вещи, но проблема в том, что когда ты пытаешься отдать объект со всеми ...

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

[Из песочницы] Пишем учебное приложение на Go и Javascript для оценки реальной доходности акций. Часть 1 — backend Давайте попробуем написать небольшую тренировочную, но вполне себе законченную информационную систему, состоящую из серверной части на Go и клиентского веб-приложения на Javascript + Vue JS. Для начала пару слов о том, что это за приложение и для чего оно нужно. Некоторое в...

[Перевод] RISC-V с нуля В этой статье мы исследуем различные низкоуровневые концепции (компиляция и компоновка, примитивные среды выполнения, ассемблер и многое другое) через призму архитектуры RISC-V и её экосистемы. Я сам веб-разработчик, на работе ничем таким не занимаюсь, но мне это очень интер...

Peephole микрооптимизации в С++ и C# компиляторах В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шабло...

«Не подлежат восстановлению!»: Брат Меган Маркл прокомментировал её отношения с отцом – СМИ Беременная герцогиня сильно обиделась на отца, который обнародовал её личное письмо к нему. Британские СМИ взяли небольшое интервью у старшего сводного брата Меган Маркл по отцовской линии. 52-летний Томас Маркл-младший согласился ответить на пару вопросов журналистов и про...

Scala + MXNet = Микросервис с нейронкой в проде В интернете есть огромное количество руководств и примеров, на основе которых вы, дорогие читатели, сможете «без особого труда» и с «минимальными» временными затратами написать код, способный на фото отличать кошечек от собачек. И зачем тогда тратить время на эту статью? О...

Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам...

NoVerify: линтер для PHP от Команды ВКонтакте теперь в открытом доступе Расскажу, как нам удалось написать линтер, который получился достаточно быстрым, чтобы проверять изменения во время каждого git push и делать это за 5−10 секунд при кодовой базе в 5 миллионов строк на PHP. Мы назвали его NoVerify. NoVerify поддерживает базовые вещи вроде ...

[Из песочницы] Груминг беклога в Jira (Backlog Grooming) Как настроить Scrum-доску для оптимизации процесса Груминга задач Во фреймворке Scrum есть такое понятие как «причесывание задач», перед тем как планировать задачи в спринт. Ведь задачи в спринт должны как известно попадать с минимальным набором атрибутов: оценка задачи, опи...

Software Defined Radio — как это работает? Часть 6 Привет, Хабр. В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем. ...

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

Тест: подходит ли тебе удаленка (не фриланс!)? Эта статья для тех, кто задумывается, стоит ли пробовать удаленную работу, и взвешивает риски: стиль жизни существенно поменяется, мало ли, что пойдет не так, а вернуться обратно будет непросто. Я не буду преподносить удаленку как райское наслаждение на пляжике под пальмочко...

Смартфон Asus ZenFone Lite L2 появился на официальном сайте с изображениями и характеристиками Отлично зарекомендовавший себя индийский инсайдер Судханшу Амбхоре (Sudhanshu Ambhore) продолжает снабжать общественность интересными новостями из индустрии мобильных устройств. В этот раз он опубликовал несколько качественных изображений, а также характеристики смартф...

Esquire в Сингапуре выпустил написанный ИИ-ботом журнал «Робот» написал несколько текстов, включая письмо редактора — и потратил на каждый материал всего несколько минут.

Бьёрн Страуструп жалеет, что биткоин был написан на C++ – языке программирования, который он создал Создателю C++ Бьёрну Страуструпу (Bjarne Stroustrup) не нравится, что для написания исходного кода биткоина был использован именно его язык программирования. В своём недавнем интервью датский учёный-программист назвал C++ инструментом, использование которого невозможно контр...

[Из песочницы] Создаем простой сервис коллтрекинга, часть 1 В рамках статьи будет рассмотрен один из возможных вариантов реализации коллтрекинга на сайте. Данный материал написан сугубо в образовательных целях и не несет в себе цели замены существующих специализированных сервисов, предоставляющих услугу «calltracking». Требования к ...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)