Обновить
4
0

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

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

С++17 и С++2a: новости со встречи ISO в Иссакуа

Время на прочтение7 мин
Охват и читатели23K
В начале ноября в американском городе Иссакуа завершилась встреча международной рабочей группы WG21 по стандартизации C++ в которой участвовали сотрудники Яндекса. На встрече «полировали» C++17, обсуждали Ranges, Coroutines, Reflections, контракты и многое другое.

Заседания, как обычно, занимали целый день + решено было сократить обеденный перерыв на полчаса, чтобы успеть побольше поработать над C++17.

Несмотря на то, что основное время было посвящено разбору недочётов черновика C++17, несколько интересных и свежих идей успели обсудить, и даже привнести в стандарт то, о чём нас просили на cpp-proposals@yandex-team.ru.
Подробности

Как использовать PVS-Studio бесплатно

Время на прочтение6 мин
Охват и читатели49K
PVS-Studio FreeМы хотим помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить качество программного обеспечения. Мы предоставляем возможность бесплатного использования анализатора PVS-Studio студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.

Введение


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

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

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

Стоит пояснить нашу позицию. Впрочем, если вам не терпится, вы можете сразу перейти к разделу «Бесплатная лицензия PVS-Studio». Если же читателю интересно узнать подробности, то предлагаю продолжить чтение.
Читать дальше →

Кэши для «чайников»

Время на прочтение12 мин
Охват и читатели39K
Кэш глазами «чайника»:


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

Давайте прокрутим полный оборот ситуаций.

Tl;dr: добавляя в архитектуру кэш важно явно осознавать, что кэш может быть средством дестабилизации системы под нагрузкой. Смотрите конец статьи.
Читать дальше →

23 бесплатных инструмента расследования инцидентов для специалиста по информационной безопасности

Время на прочтение5 мин
Охват и читатели85K


Утечки данных происходят почти каждый день. Согласно индексу утечки данных, с 2013 года более 4,762,376,960 записей было утеряно или украдено.
Читать дальше →

Расширения языков C и C++. Часть 1

Время на прочтение19 мин
Охват и читатели69K
Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков C и C++, которые существуют практически в каждом компиляторе.

Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков C и C++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
Читать дальше →

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Охват и читатели817K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста

Хакаем CAN шину авто для голосового управления

Время на прочтение8 мин
Охват и читатели127K


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

Мой автомобиль Skoda Octavia 2011 г. в. не предлагает возможностей управления с телефона, поэтому я решил исправить этот недостаток, а заодно и добавить функцию голосового управления. В качестве шлюза между CAN шиной и телефоном я использую Raspberry Pi с шилдом CAN BUS и WiFi роутер TP-Link. Протокол общения агрегатов авто закрытый, и на все мои письма предоставить документацию протокола Volkswagen отвечал отказом. Поэтому единственный способ узнать, как общаются устройства в авто и научиться ими управлять является реверс-инжиниринг протокола CAN шины VW.

Я действовал поэтапно:

  1. Разработка CAN шилда для Raspberry Pi
  2. Установка ПО для работы с CAN шиной
  3. Подключение к CAN шине авто
  4. Разработка сниффера и изучение протокола CAN шины
  5. Разработка приложения для телефона
  6. Голосовое управление с помощью Homekit и Siri

В конце видео голосового управления стеклоподъемником.
Читать дальше →

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server?

Время на прочтение33 мин
Охват и читатели51K

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

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

Парадокс Rimworld: захватывающая сюжетом «песочница»

Время на прочтение9 мин
Охват и читатели73K

Чью сказку вы хотите послушать?

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

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

Но про то, как это работает, чуть позже. Сразу главное – влюбиться в эту игру можно за потрясающий сюжет. Который «размазан» по миру. Сюжет, которого, в принципе, нет.

Итак, начало первой игры: ваш корабль взрывается. Вы едва успеваете добежать до капсул и приземляетесь на поверхности. 30 аварийных рационов питания, стальные обломки, оружие. Рядом – руины каких-то древних зданий.
Читать дальше →

Допустимые и недопустимые контакты металлов. Популярные метрические и дюймовые резьбы

Время на прочтение8 мин
Охват и читатели207K
Электронику часто называют наукой о контактах. Многие знают, что нельзя скручивать между собой медный и алюминиевый провода. Медная шина заземления или латунная стойка для платы плохо сочетаются с оцинкованными винтиками, купленными в ближайшем строительном супермаркете. Почему? Коррозия может уничтожить электрический контакт, и прибор перестанет работать. Если это защитное заземление корпуса, то прибор продолжит работу, но будет небезопасен. Голая алюминиевая деталь вообще может постепенно превратиться в прах, если к ней приложить даже низковольтное напряжение.

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

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

И, раз уж зашла речь о металлообработке, заодно автор привёл таблицу с популярными в электронике резьбами и соответствующими свёрлами, отобрав из объёмных источников наиболее релевантное по тематике портала. Не все же здесь слесари и металлурги, экономьте своё время.
Читать дальше →

Синтез изображений с помощью глубоких нейросетей. Лекция в Яндексе

Время на прочтение15 мин
Охват и читатели50K
Пусть в блоге Яндекса на Хабрахабре эта неделя пройдет под знаком нейронных сетей. Как мы видим, нейросети сейчас начинают использоваться в очень многих областях, включая поиск. Кажется, что «модно» искать для них новые сферы применения, а в тех сферах, где они работают уже какое-то время, процессы не такие интересные.

Однако события в мире синтеза визуальных образов доказывают обратное. Да, компании еще несколько лет назад начали использовать нейросети для операций с изображениями — но это был не конец пути, а его начало. Недавно руководитель группы компьютерного зрения «Сколтеха» и большой друг Яндекса и ШАДа Виктор Лемпицкий рассказал о нескольких новых способах применения сетей к изображениям. Поскольку сегодняшняя лекция — про картинки, то она очень наглядная.


Под катом — расшифровка и большинство слайдов.

Советские «Эльбрусы» — обзор архитектуры

Время на прочтение28 мин
Охват и читатели22K
image

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

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

Так что автор из свойственной ему любознательности попытался разобраться с доступной документацией и составить более — менее цельную картину. Если читателю это интересно — добро пожаловать под кат.
Читать дальше →

Сравнение библиотек логирования

Время на прочтение26 мин
Охват и читатели81K


В сети огромное количество площадок формата Q&A где задаются вопросы из разряда:

  • Предложите С++ логер? (C++ logging framework suggestions)
  • Какой наиболее эффективный потоко-безопасный С++ логер? (What is the most efficient thread-safe C++ logger)
  • Библиотека логирования для игр (Logging library for c games)
  • Асинхронный потоко-безопасный С++ логер? (Asynchronous thread-safe logging in C++)

Люди делятся своим опытом и знаниями, но формат таких площадок позволяет лишь показать личные предпочтения отвечающего. К примеру, одним из самых производительных логеров чаще всего называют Pantheios, который даже по тестам производителя тратит больше 100 секунд на запись 1M строк лога, на современном железе это около 30 секунд, быстро ли это?

В этой статье я сравню наиболее известные и заслуженные логеры последних лет и несколько относительно молодых логеров по более чем 25 критериям.
Читать дальше →

Печатаем простейший корпус для самодельного устройства

Время на прочтение3 мин
Охват и читатели80K

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


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

Майним Bitcoin с помощью бумаги и ручки

Время на прочтение7 мин
Охват и читатели333K
В один прекрасный момент мне захотелось прикинуть, насколько быстро можно майнить биткойны вручную. Оказалось, что для майнинга используется хеширование SHA-256, а оно достаточно простое и может быть вычислено даже без компьютера. Само собой, процесс очень небыстрый и совершенно непрактичный. Но, пройдя все шаги на бумажке, можно хорошо разобраться в деталях работы алгоритма.


Один криптографический раунд
Читать дальше →

SHENZHEN I/O — новый симулятор программирования микроконтроллеров

Время на прочтение6 мин
Охват и читатели97K


Как многие из нас хотели быть инженерами-схемотехниками, но не стали ими? Я не говорю о программистах, строителях и прочих специальностях. Многие мечтали паять платы, ходили в радиокружки и курочили домашнюю аппаратуру (получая после этого ремня от отца, само собой) в попытке понять, как она работает? Если не каждый первый, то уверен, многие.

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

В этой публикации я предлагаю вам познакомиться с новой игрой, вышедшей в ранний доступ в Steam 6 октября этого года. Встречайте, инди-симулятор создания цепей и простых устройств — SHENZHEN I/O.

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

«Fallout 1.5: Resurrection»: игровой постапокалипсис, каким он должен быть

Время на прочтение3 мин
Охват и читатели68K


Кто не знает Fallout? Наверное, эту игру знают все. И большинство поклонников серии постапокалиптических приключений обитателей Убежищ знакомы не только с трехмерными играми, но и с первыми изометрическими вариантами. Сейчас любители «лампового» Fallout могут быть довольны: можно поиграть в мод для Fallout 2, который называется «Fallout 1.5: Resurrection».

Те, кто ознакомился с этим модом, утверждают, что «это тот Fallout 3, каким он должен был быть». Все начинается в с пробуждения персонажа в грязной канаве. Главный герой мало что помнит, а вокруг — множество мутантов. Для того, чтобы отсюда выбраться, сначала нужно победить парочку радскоприонов. Это сразу напоминает игроку, что он находится в среде старого доброго Fallout, а не современных его инкарнаций.

Что будет, если подать в электросеть постоянный ток

Время на прочтение10 мин
Охват и читатели215K
Война токов завершилась, и Тесла с Вестингаузом, похоже, победили. Сети постоянного тока сейчас используются кое-где на железной дороге, а также в виде свервысоковольтных линий передачи.

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

Self-contained дистрибуция .NET Core приложений

Время на прочтение3 мин
Охват и читатели33K

Если вы вдруг пропустили, то .NET теперь open source, а .NET Core это бесплатный, open source, кроссплатформенный фреймворк, который вы можете скачать и запустить за время <10 минут. Вы можете получить его на Mac, Windows и на пол-дюжине Unix-ов с сайта dot.net Попробуйте его вместе с бесплатной, кроссплатформенной Visual Studio Code и вы будете писать на C# и F# всегда и везде.
Читать дальше →

Квантовое хеширование. Лекция в Яндексе

Время на прочтение20 мин
Охват и читатели20K
Фарид Мансурович Аблаев — заведующий кафедрой теоретической кибернетики Казанского федерального университета. Приехав в московский офис Яндекса, Фарид Мансурович рассказал об алгоритмах, потенциально пригодных для запуска на квантовых компьютерах. Таких устройств пока очень мало, и они толком не освоены даже самыми передовыми компаниями. Но когда они начнут дешеветь, у специалистов уже будут наработки, позволяющие приступить к их использованию.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность