Рубрика «Программирование» - 462

Smart Engines и Sailfish OS

Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем мы и отечественного производителя: Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K, MIPS.

Поэтому, когда мы увидели нарастающую популярность российской операционной системы Sailfish Mobile OS RUS, мы не смогли обойти ее стороной. Sailfish Mobile OS RUS — это POSIX-совместимая операционная система для мобильных устройств, развиваемая отечественной компанией «Открытая Мобильная Платформа» для решения задач корпоративных пользователей и государственных учреждений. По состоянию на февраль 2018 года является единственной мобильной операционной системой, включенной в реестр Отечественного ПО и прошедшей сертификацию ФСБ по классу АК1/КС1.

В этой статье мы расскажем о своем опыте портирования нашей библиотеки распознавания Smart IDReader (технология Hieroglyph) на Sailfish OS. В ней будет код, ссылки и видео. Мы хотим, чтобы эта статья была технически информативной и полезной в качестве общей инструкции для тех, кто портирует С++ приложения на Sailfish OS.

Читать полностью »

Привет.

В процессе праздного ничегонеделания возникла идея поизучать разные азартные игры, заодно получше разобраться с тем как это работает. Результаты оказались хотя и в целом очевидными, но достаточно интересными, чтобы поделиться ими с общественностью.
Можно ли выиграть в азартные игры? Симуляция на языке Python - 1

Кому интересны подробности, прошу под кат.Читать полностью »

Новая микроархитектура процессоров Intel: быстро, но не бесплатно - 1

Выявление аппаратных уязвимостей Spectre и Meltdown в процессорах Intel поставило перед архитекторами компании сложнейшую задачу – внести в микроархитектуру CPU изменения, обеспечивающие полную безопасность исполнения при сохранении и даже повышении производительности процессоров. Сейчас, полгода спустя, настало время поделиться результатами данной работы. Конечно, не всеми, а только частью, не являющейся Intel Top Secret.
Читать полностью »

Размышлял как-то о коде, программировании и всём таком; бродили всякие мысли. А что если взять, например, и заставить двух разработчиков написать несложные программы по одному ТЗ. Программисты одинакового уровня. Пишут независимо друг от друга. Код у них, естественно, получится разный. Однако если вытащить из кода каждой программы строчки, выполняющие реальную работу (преобразования исходных данных в необходимый результат), и свалить их в две большие «кучи», то эти «кучи» вроде бы должны оказаться сильно похожими. Потому что исходя из поставленной задачи оба программиста, наверное, применят похожие вычисления и преобразования данных. (На самом деле это маловероятно, так как и алгоритмы тоже, скорее всего, будут выбраны разные.)

Тогда и появилась эта безумная аналогия.

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

Анатомическая метафора кода. Где у кода мускулы - 1

Читать полностью »

Операционные системы с нуля; уровень 2 (младшая половина) - 1 В этой части мы напишем менеджер памяти для того, чтоб разблокировать использование Vec, String, HashMap и всего этого. Сразу после этого реализуем файловую систему FAT32 и подключим драйвер для EMMC (такая штука для общения с SD-карточками). В конце концов в нашей командной оболочке появятся пара новых команд: cd, pwd, cat, ls.

Нулевая лаба

Первая лаба: младшая половина и старшая половина

Читать полностью »

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter? - 1

(*одно из значений слова flutter — порхать)

Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться.

Дисклеймеры:

  • для понимания нужно иметь стартовые знания о Flutter;
  • рассуждаю с точки зрения Android, про iOS — это не ко мне;
  • не являюсь специалистом по Flutter/Dart, подхожу с позиции новичка;
  • в некоторых местах опускаю второстепенные моменты (например, реализации вспомогательных функций), найти недостающее можно в полном коде проекта.

Читать полностью »

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

Меня зовут Сэми Камкар, я исследую проблемы безопасности, но не профессионально, а ради собственного удовольствия, как и большинство здесь присутствующих. Я известен как «Narcissistic Vulnerability Pimp», или «сводник самовлюблённой уязвимости», являюсь автором вируса Samy Worm, созданным на MySpace несколько лет назад, и одним из основателей компании IP PBX Fonality. Меня также называют Chick Magnet, «магнитом для цыпочек», и я фанат Леди Гага. А ещё я люблю наличность.

Конференция DEFCON 18. «Как я встретился с Вашей девушкой, или новый вид Интернет-атак». Сэми Камкар - 1

На этом слайде Вы видите ребят, которые оказали мне большую услугу – они позволили мне вообще не прикасаться к компьютеру некоторое время. Несколько лет назад ко мне в дом ворвались представители USSS, United States Secret Service Electronic Crimes Task Forces, Секретной целевой группы по электронным преступлениям. Они изъяли все мои компьютеры, забрали мой ноутбук, мобильник, проигрыватели CD и DVD-дисков и даже игровую приставку Xbox. Дело закончилось судом, который запретил мне пожизненно прикасаться к компьютерам, однако пару лет назад меня «разбанили», и теперь я снова с Вами, однако без доступа к MySpace.Читать полностью »

Публикуем очередную подборку задач и вопросов с собеседований в крупных IT-компаниях (для тех, кому мало задач из предыдущего сета :)

КДПВ

Ниже приведены вопросы и задачи для соискателей в Google, с различным уровнем сложности. Набор получился с лингвистическим уклоном, но знание языков не обязательно — задачи можно решить руководствуясь логикой и рассуждая последовательно. Надеемся, что решение этих задач принесёт интеллектуальное удовольствие и практическую пользу на собеседовании :).
Читать полностью »

Привет всем, я когда-то увидел, что не продаются модели подводных лодок с дальним радиусом действия, более менее сносным функционалом и ценой меньше чем у новенького iphone и решил сделать ее сам. Читать полностью »

Привет!

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

image

Cначала очень коротко о главном. В этот релиз вошли:

  • Поддержка языка C++
    • Поддержка возможности C++17: structured binding
    • Поддержка возможности C++17: операторы if и switch с инициализаторами
    • Множество баг-фиксов и улучшений

  • Возможность использовать файлы конфигурации Clang-Tidy в CLion, а также настраивать опции для проверок из Clang-Tidy в интерфейсе CLion
  • Улучшения для пользователей Windows
    • Компилятор Microsoft Visual C++ включен по умолчанию
    • Поддержка подсистемы WSL

  • CMake и не только
    • Вызов из IDE CMake Install
    • Шаблоны для создания файлов CMakeLists.txt
    • Возможность открыть файл или папку без проектной модели CMake

  • Экспериментальная поддержка hex view в отладчике
  • Улучшения редактора:
    • “Хлебные крошки” (breadcrumbs) для C/C++
    • Действие Unwrap
    • Сворачивание управляющих конструкций

  • Поддержка новых языков в CLion: Objective-C / Objective-C++, Rust, Fortran

Можно прямо сейчас скачать бесплатную 30-дневную версию с нашего сайта и попробовать новые возможности. Для этого мы даже подготовили специальный небольшой демо-проект. А ниже поговорим об улучшениях более подробно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js