Социальные сети Рунета
Суббота, 20 апреля 2024

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

[Из песочницы] Использование случайного оракула на примере лотереи Как-то утром на глаза попалась статья о проверяемом генераторе случайных чисел на блокчейне Waves platform. Общая картина была понятна, а вот способ конкретной реализации — нет. Какие-то коды, подписи, что, куда, зачем? Несколько консультаций у автора оракула, в результат...

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

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

Наша космическая промышленность. Взгляд на проблемы рядового разработчика Я работал в нашей космической промышленности достаточно долго (1983-1995, 2008-2012 годы). Когда читаешь статьи о наших неудачах, в них часто не видны основные действующие механизмы создания проблем. Итак, я хотел бы начать это рассмотрение с принципа «фактической негативн...

Делаем ретро-игру из 80-х или как готовить макеты для лазерной резки Хабр, привет! Так получилось, что меня давно просили сделать старую настольную игру из СССР — «Сражение». Вот пришло время выполнять обещание, заодно решила показать как создавать макеты для лазерной резки и что получается в итоге. Большой сложности в этом нет, но есть неко...

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

Безопасность алгоритмов машинного обучения. Атаки с использованием Python Машинное обучение активно применяется во многих областях нашей жизни. Алгоритмы помогают распознавать знаки дорожного движения, фильтровать спам, распознавать лица наших друзей на facebook, даже помогают торговать на фондовых биржах. Алгоритм принимает важные решения, поэто...

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

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

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

Корректный ASP.NET Core Специально для любителей книг "С++ за 24 часа" решил написать статью про ASP.NET Core. Если вы раньше не разрабатывали под .NET или под какую-то аналогичную платформу, то смысла заходить под кат для вас нет. А вот если вам интересно узнать что такое IoC, DI, DIP, Intersept...

В очередной раз о НОД, алгоритме Евклида и немного об истории алгоритмов вообще. Конечно, с примерами на Swift Алгоритмы – одна из центральных тем в программировании, они повсюду (особенно на собеседованиях, ха-ха). (Разве можно обойтись в таком посте без «баяна»?) Одним из самых известных является так называемый алгоритм Евклида – пожалуй, самый распространенный способ нахождения...

[Из песочницы] Делаем ST-Link V2.1 из китайского ST-Link V2 Привет, Хабр! В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1. Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел. Кому интересно — прошу под кат. Читать дальше →

Конгресс США просит Тима Кука объяснить ситуацию с найденной в FaceTime уязвимостью Несмотря на то, что Apple уже исправила уязвимость в FaceTime, её проблемы, связанные с этой ситуацией, не закончились. Во-первых, на компанию уже успели подать в суд. Во-вторых, как сообщает источник, Конгресс США призвал Тима Кука объяснить ситуацию с уязвимостью. Ес...

Превращаем DSLogic Basic в DSLogic Plus Привет, Хабр! В данной статье расскажу как модифицировать DSLogic Basic до DSLogic Plus. Возможно для кого-то это не будет новостью. Во всяком случае — собрал инфу с зарубежного форума, убрал все лишнее и рассказываю вам. Кому интересно — прошу под кат. Читать дальше →

[Перевод] Бегущие огни на реле Если вы ранее собирали бегущие огни на транзисторах, тиристорах или микросхемах, вам, возможно, будет интересно реализовать тот же эффект на реле. Читать дальше →

Книга «Совершенный алгоритм. Основы» Привет, Хаброжители! Эта книга основана на онлайн-курсах по алгоритмам, которые Тим Рафгарден ведет на Coursera и Stanford Lagunita, а появились эти курсы благодаря лекциям для студентов, которые он читает в Стэнфордском университете на протяжении многих лет. Алгоритмы — э...

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

[Из песочницы] Работа с Jira API при помощи Python Всем привет. Появилась мысль автоматизировать выгрузку отчетов из Jira. Так как любимым инструментом был Python, выбор пал на модуль от JIra позволяющий работать с их API. Кому интересно прошу по кат. Читать дальше →

[Из песочницы] Синтез как один из методов улучшения производительности PostgreSQL Философское вступление Как известно, существует всего два метода для решения задач: Метод анализа или метод дедукции, или от общего к частному. Метод синтеза или метод индукции, или от частного к общему. Для решения проблемы “улучшить производительность базы данных” это...

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

Что нам стоит PCI-E райзер свой построить Давным-давно собирал я себе мини-компьютер. Но вот незадача – 3D моделирование и чего уж греха таить – банальные игрушки заставляли данную коробочку сильно призадуматься, а меня — понервничать. Но просто взять и подключить видеокарту к ней нельзя — слот PCI-E X4 есть, но н...

Блокчейн-платформа Waves запустила оракулы данных Российская компания Waves Platform представила инструмент Data Oracle для создания оракулов данных, основанных на дата-транзакциях. Оракулы данных позволяют получать доступ к данным из разных источников за пределами блокчейна, которые необходимы для соблюдения условий смарт-...

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

Проблемы общего кода в микросервисах Всем привет! Недавно на конференции PGConf в Москве один из докладчиков демонстрировал «микросервисную» архитектуру, упомянув мимоходом, что все микросервисы наследуют от одного общего базового класса. Хотя никаких пояснений по реализации не было, создалось впечатление, что...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

Cлучайный оракул на основе цифровой подписи в блокчейне От идеи до реализации: модифицируем существующую схему цифровой подписи на эллиптической кривой, чтобы она была детерминированной, и предоставляем на её основе функции получения проверяемых в рамках блокчейна псевдослучайных чисел. Читать дальше →

Наша космическая промышленность.… А если взглянуть на проблемы отрасли с позиции гика? Описывать в общем механику проблем в нашей космической отрасли достаточно сложно, запутанно, и для весьма для многих еще и крайне непонятно. Обычный поток информации на тему космоса – это перечень событий, от которого в голове остается только некоторое «сальдо-бульдо» чужих ...

Алгоритм мышления и сознания, часть 2 Данный текст содержит пояснения к алгоритму из моей первой статьи “Алгоритм мышления и сознания”. Тезисы первой статьи: Феномен субъективного мышления можно алгоритмизовать. Предъявленный в статье алгоритм мыслит и этим можно воспользоваться практически. С помощью алгорит...

[Перевод] Есть ли что-то общее у разных песен-хитов? Если выполнить вход на Spotify.me, то можно получить персонализированную сводку того, как Spotify понимает вас через музыку, которую вы слушаете на этом сайте Spotify. Это круто! Я слушаю много музыки и люблю работать с данными, поэтому это вдохновило меня на попытку анали...

Фоторепортаж о посещении производственной площадки компании Радиолайн Мне, как радиоинженеру, было очень интересно посмотреть, как устроена производственная «кухня» фирмы, которая занимается созданием очень специфической, если не сказать уникальной, аппаратуры. Если вам тоже интересно, то милости прошу под кат, где много занятных картинок… ...

[recovery mode] Пример контент-стратегии для продвижения интернет-магазина оружейных запчастей О роли контента в SEO спорят много, жарко и на разных уровнях: Решает ли он что-нибудь вообще? Если решает, то можно ли им пренебречь как малозначимым фактором? Если нельзя, то сколько нужно контента в знаках? Если не получается столько создать, то можно ли красть? Если не...

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

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 1) В статье мы расскажем, как решали проблему нехватки свободных ячеек на складе и о разработке алгоритма дискретной оптимизации для решения такой задачи. Расскажем о том, как мы «строили» математическую модель задачи оптимизации, и о том с какими трудностями мы неожиданно ст...

Решето Эратосфена за O(n). Доказательство В комментариях к одному из прошлых постов о решете Эратосфена был упомянут этот короткий алгоритм из Википедии: Алгоритм 1: 1: для i := 2, 3, 4, ..., до n: 2: если lp[i] = 0: 3: lp[i] := i 4: pr[] += {i} 5: для p из pr пока p ≤ lp[i] и p*i ≤ n: 6: lp[...

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

Rook или не Rook — вот в чём вопрос В начале этого месяца, 3 мая, был анонсирован крупный релиз «системы управления для распределённых хранилищ данных в Kubernetes» — Rook 1.0.0. Более года назад мы уже публиковали общий обзор Rook. Тогда же нас просили рассказать об опыте его использования на практике — и в...

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

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

Правда о железнодорожных тормозах: часть 1 Кинетическая энергия «Сапсана» на максимальной скорости — свыше 1500 мегаджоулей. Для полной остановки вся она должна быть рассеяна на тормозных устройствах Было дело, просили меня поподробнее раскрыть эту тему именно здесь, на хабре. Здесь публикуется довольно много обзор...

[Из песочницы] Кодогенерация при помощи Roslyn Время от времени, когда я читал о Roslyn и его анализаторах, у меня постоянно возникала мысль: "А ведь этой штукой можно сделать nuget, который будет ходить по коду и делать кодогенерацию". Быстрый поиск не показал ничего интересного, по этому было принято решение копать. Ка...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

[Перевод] Краткое введение в цепи Маркова В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее два десятка лет Googl...

[Перевод] С++, определен ли тип: предварительное декларирование нужных объектов В прошлый раз, мы использовали SFINAE, чтобы понять, есть ли у типа определение, и мы использовали это в сочетании с if constexpr и универсальными лямбда-выражениями, чтобы код мог использовать тип, если он определен, при этом все еще принимаясь компилятором (и отбрасываясь)...

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

[Перевод] Четыре оси дизайна RPG Эта статья началась с ответа на многогранный, но в то же время довольно прямолинейный вопрос: из чего же состоит хорошая ролевая игра? На протяжении своей карьеры я поработал над несколькими RPG, и даже читал презентацию по этой теме, но никогда не рассматривал её целостно. ...

[Перевод] Learn OpenGL. Урок 7.1 – Отладка Графическое программирование — не только источник веселья, но еще и фрустрации, когда что-либо не отображается так, как задумывалось, или вообще на экране ничего нет. Видя, что большая часть того, что мы делаем, связана с манипулированием пикселями, может быть трудно выясни...

[Перевод] Настало ли время для URL, содержащих эмодзи? Домены с эмодзи существуют уже много лет, но до сих пор не обрели популярность [К сожалению, редактор Хабра не позволяет вставлять в текст эмодзи. Эмодзи-ссылки можно найти в оригинальном тексте статьи (копия статьи на сайта Archive) / прим. перев.] Если вы введёте в адре...

Как измерять производительность блокчейн сетей. Основные метрики Существует много метрик, относящихся к логике и качеству работы блокчейна. Они помогают определить узкие места в коде и найти логические и оптимизационные проблемы в алгоритмах консенсуса и финальности в блокчейнах. Любая разработка распределенных систем, в том числе блокче...

Vivaldi Beta для Android — Настоящий браузер Всем привет! Интересно устроена жизнь: день сменяет другой, мы выполняем какие-то привычные дела, решаем проблемы, и, несмотря на разнообразие всех этих событий, жизнь кажется нам однообразной, даже в какой-то степени скучной. Но иногда происходит событие, после которого ...

[Из песочницы] Арифметика fixed-point на C++ Сегодня расскажу Вам что такое fixed-point, зачем он нужен и как его можно использовать. Существует такая проблема когда производительность приложения может заметно ухудшиться из-за особенностей вычисления на числах с плавающей точкой. Как правило CPU заточен под целочислен...

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

О новых идеях, узости взглядов и сарафанном радио Пойми, студент, сейчас к людям надо помягше… А на вопросы смотреть ширше.A long time ago(10 days), in a galaxy(Habr) far, far away...war will not Bee ;-) В общем, я сделал публикацию о системе смс-весов для пасеки, которая не получила столь широкой огласки как велосипеды Ну...

Обзор Apple Smart Battery Case для iPhone XS Max Мой iPhone XS Max выдаёт один день автономной работы. Однако в командировках я использую девайс дольше обычного, а потому уже к вечеру он просится на зарядку. На этот случай у меня всегда с собой павербанк. Однако с чехлом-аккумулятором Smart Battery Case он не нужен. Надел ...

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

Разбираемся с Machine Learning в Elastic Stack (он же Elasticsearch, он же ELK) Напомним, что в основе Elastic Stack лежат нереляционная база данных Elasticsearch, веб-интерфейс Kibana и сборщики-обработчики данных (самый известный Logstash, различные Beats, APM и другие). Одно из приятных дополнений всего перечисленного стека продуктов — анализ данны...

[Из песочницы] Что такое HED/MRSD и для чего это может понадобиться? Нормальным, здоровым людям информация, изложенная ниже, в принципе нужна лишь для расширения кругозора, однако если у вас серьезные проблемы со здоровьем, которые ученые только пробуют эффективно лечить. Или же вы просто достаточно безрассудны рискованны и хотите достичь быс...

[Из песочницы] Secure Scuttlebutt — p2p социальная сеть, работающая и в оффлайне Scuttlebutt — сленговое слово, распространённое среди американских моряков, обозначающее слухи и сплетни. Node.js разработчик Доминик Тарр, живущий на паруснике у берегов Новой Зеландии, использовал это слово в названии p2p сети, предназначенной для обмена новостями и личным...

Spring Boot 2 и JDK 8: Вы все еще используете аннотации @Param, @RequestParam и @PathVariable? Тогда статья для Вас Здравствуй, Хаброчитатель! Разрабатывая учебный проект по Spring Boot 2 решил поэкспериментировать с @Param в запросах Spring Data JPA, а точнее c их отсутствием: @Transactional(readOnly = true) public interface UserRepository extends JpaRepository<User, Integer> { ...

Гуляем по городу с умом — 2: ходим по городу кругами с помощью генетического алгоритма В прошлой статье я описал алгоритм, позволяющий строить более интересные (в противовес более коротким, как делают всякие яндексы-гуглы) пешеходные маршруты между двумя точками. Алгоритм загружал достопримечательности, парки и прочие приятные и интересные для пешеходов объект...

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

[Перевод] UX Резюме: Перезагрузка Практически у каждого из вас есть резюме, не так ли? Так как это важная часть вашего основного набора инструментов используемого при поиске работы, точно такая же, как и портфолио (если у вас еще есть проблемы с этим — то вам сюда). Однако, уверены ли вы, что оно проходит че...

[Из песочницы] Считаем сменный график работы в уме Много людей, у которых график работы сменный. Проблема такого графика – сложность быстро посчитать для любой даты какой это день: рабочий или выходной. Есть много онлайн сервисов для расчета сменного графика, но еще проще это сделать в уме. В этой статье будет рассмотрен а...

Как организовать фотостудию? Кейс компании Bolshakova Studio Надоело тратить время на выяснение что происходит в компании? Информация теряется в бесконечных групповых чатах WhatsApp-а? Нарушена коммуникация внутри команды? От слежения за (не)выполненными правками пухнет голова? Непонятна нагрузка на сотрудников и вообще кто чем сейчас...

Хитрости в Machine Learning — работа с несколькими моделями в Keras Это моя первая статья по теме Машинное обучение. С недавнего времени я профессионально занимаюсь машинным обучением и компьютерным зрением. В этой и будущих статьях я буду делиться наблюдениями и решениями специфических проблем при использовании TensorFlow и Keras. В этой ст...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

Изменение климата: анализируем температуру в разных городах за последние 100 лет Привет Хабр. Про изменение климата сейчас не говорит только ленивый. И случайно найдя неплохой сайт с историческими данными, стало интересно проверить — как же реально менялась температура с годами. Для теста мы возьмем данные с нескольких городов и проанализируем их с помо...

[Перевод] Создание изометрических 2D-уровней с помощью системы Tilemap В Unity 2018.3 появилась поддержка изометрических тайловых карт, очень напоминающая поддержку тайловых карт шестиугольников, которая была добавлена в версии 2018.2. Новые функции Tilemap позволяют быстро и эффективно создавать 2D-окружения на основе изометрических и шестиуг...

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

Windows 10: настройки не открываются — что делать? Если вы недавно установили Windows 10, то, как правило, эта проблема может быть быстро устранена. Для этого корпорация Microsoft выпустила инструмент для решения проблемы, который сам исправляет эту ошибку. Если ошибка возникла после длительного использования Windows 10, то...

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

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

[Из песочницы] Механизм контроля версий базы данных в GIT (управление дампами MySQL) Привет, любители Хабра! Сегодня я решил поделиться своим вариантом бекапа данных из MySql и рассказать о том как его можно использовать для контроля версий в Git. И если вам интересно узнать, как можно контролировать состояние базы данных на всех этапах разработки, или прост...

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

Алексей Савватеев: Нобелевская премия Жана Тироля за анализ несовершенных рынков (2014) и коллективную репутацию Если бы я давал Нобелевскую премию Жану Тиролю, я бы дал за его теоретико-игровой анализ репутации, или хотя бы включил в формулировку. Мне кажется это тот случай, когда наша интуиция хорошо соответствует модели, хотя проверить эту модель тяжело. Это из серии тех моделей, ...

Генетические алгоритмы (или Клиент всегда король — и часто дурак) Привет, Хабр! Сейчас вот сидел, делал для товарища прототип генетического алгоритма. Навеяло поделиться оным, да и некоторыми другими мыслями… Дано (клиент заказал): в некоем царстве складе есть 100 ячеек. В нем товар лежит. Как взять количество Х так, чтобы опустошить все...

Security Week 31: уязвимость в VLC и испорченный телефон На прошлой неделе широко обсуждалась (новость) серьезная уязвимость в популярном медиаплеере VLC. Информация о проблеме была добавлена в реестр немецкого центра реагирования на угрозы CERT Bund и в американскую базу National Vulnerability Database. Изначально уязвимость CVE-...

Градиентный спуск по косточкам В интернете есть много статей с описанием алгоритма градиентного спуска. Здесь будет еще одна. 8 июля 1958 года The New York Times писала: «Психолог показывает эмбрион компьютера, разработанного, чтобы читать и становиться мудрее. Разработанный ВМФ… стоивший 2 миллиона долла...

Решаем судоку с помощью Алгоритма X В этой статье рассмотрим "Алгоритм X" Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения. Читать дальше →

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

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

Azure Search Если какой-то из ваших проектов использует данные хранящиеся в Ажуровской базе, то вполне возможно, что у вас есть возможность задействовать поиск по данным с помощью Azure search. Совершать поиск можно не только по базам (Azure Cosmos DB, Azure SQL Database, SQL Server hos...

Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory Наш продукт разрабатывается на платформе .Net Core 2.2 с использованием WCF 4.5 для взаимодействия с SOAP сервисом клиента. В процессе работы сервиса разработчики шины данных заметили высокую нагрузку на сервер. Далее стали появляться проблемы с доступом к сервису. В результ...

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

Как закалялись бойцы ру->нета. Немного реальной истории Беседуя сегодня с друзьями, начали вспоминать «как все было» в Рунете — причем не со слов политически ангажированных «Ашмановых и прочих приближенных», но как было реально. Подбили на написание статьи. Делать было нечего, написал набросок о чем дальше можно © По сути — р...

[Перевод] 18 хитростей для работы с Visual Studio Независимо от того, являетесь ли вы новичком или же используете Visual Studio уже в течение многих лет, есть множество советов и хитростей, которые помогут вам стать более продуктивным. Некоторое время мы делились советами в Twitter, используя хештег #vstip, а сегодня собрал...

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

Анонс митапа ThinkJava #10 в Харькове Мы позаботились о том, чтобы один из пятничных вечеров октября Java-разработчики Харькова смогли провести особенно интересно и продуктивно.  Мы анонсируем, вы записываете, а потом все дружно 18 октября (если что, это будет вечер совершенно необычной пятницы :)) приходим н...

Нахождение объектов без учителя (Unsupervised Object Detection) Одна из важнейших задач в машинном обучении — детектирование объектов (Object Detection). Недавно был опубликован ряд алгоритмов машинного обучения основанных на глубоком обучении (Deep Learning) для детектирования объектов. Эти алгоритмы занимают одно из центральных мест ...

Библиотека Symbols GOST для DipTrace Ниже на скрине представлена часть символов библиотеки. В общей сложности библиотека содержит около 300-сот УГО выполненных по стандартам ГОСТ (ЕСКД). Библиотека разрабатывается и поддерживается мной. Все предложения, пожелания по добавлению символов (УГО) или компонентов...

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

Как и зачем мы оптимизировали алгоритм очистки SLAB-кэшей в ядре Linux Рост популярности контейнеров и их использование в совокупности с контрольными группами выявили серьезную проблему масштабируемости, которая приводит к значительному падению производительности на больших машинах. Проблема в том, что время обхода SLAB-кэшей зависит квадратичн...

Хватит использовать RSA Привет, %username%! RSA — первый широко используемый алгоритм асимметричной криптографии, который до сих пор популярен в индустрии. Он относительно прост, на первый взгляд. Шифрование и подпись RSA можно посчитать на листке бумаги, чем часто занимаются студенты на лаборат...

[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...

[Из песочницы] Сказ о полукольцах Привет, Хабр! Предлагаю вашему вниманию перевод статьи "A tale on Semirings" автора Luka Jacobowitz. Когда-нибудь задумывались, почему сумма типов называется суммой типов. Или, может, вы всегда хотели узнать, почему оператор <*> записывается именно так? И что...

Android Camera2 API от чайника, часть 4. Media Codec и стрим видео по UDP в JAVA приложение Итак, выходим на финишную прямую. Стримить видео с андроида на VLC плеер мы уже научились, теперь осталось только интегрировать окошко с видео в JAVA приложение и начать рулить роботелегой. В этом нам очень сильно поможет проект с открытым исходным кодом VLCJ CAPRICA. Th...

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

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

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

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

[Из песочницы] Локальный запуск юнит-тестов в STM32CubeIDE под Windows Введение Всем известна польза юнит-тестирования. Прежде всего, написание тестов одновременно с кодом позволяет раньше выявлять ошибки и не тратить впоследствии время на трудоемкую комплексную отладку. В случае embedded-разработки у юнит-тестирования есть особенности, связан...

В Сети появилась петиция, в которой Apple просят признать наличие проблемы flexgate в ноутбуках MacBook Pro У ноутбуков Apple MacBook Pro множество достоинств, многие считают их лучшими ноутбуками в своём классе, но у них есть и недостатки. К примеру, до выхода самого последнего поколения несколько лет они страдали от проблем с клавиатурами, причём Apple упорно не хотела приз...

Эволюционирующие клеточные автоматы Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится. В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок. Читать дальше →

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

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

[Из песочницы] Как спихнуть на соседа счёт за пользование услугами Yandex Maps API или для чего IT гиганту нужен контроль качества С 10 июня 2019 (а технически с ноября 2019), Яндекс прекратил поддержку анонимного использования сервисов JS API & HTTP Geocoder — тарифицируемые запросы к API (поиск, геокодирование, панорамы и т.д.) перестали работать. Но адекватного биллинга и трекинга запросов Яндекс...

Свистать всех на Linux, гром и молния Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флеш...

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

Новый взгляд на изучение и документирование исходного кода TL;DR Привет. Меня зовут Богдан и я изучаю проблемы чтения кода. Я только что закочнил первую рабочую версию «codecrumbs» — визуального инструмента для изучения исходного кода с помощью «хлебных крошек». Гитхаб репозиторий можно посмотреть тут. Проблема Недавно я проводил...

Иван aka BANO.notIT: “Если OSM начнет себя рекламировать и продвигать, в него придут новые люди с новыми идеями” Иван — студент-программист из Москвы, который присоединился к сообществу RU-OSM буквально несколько месяцев назад. Потому его мнение об OSM, как человека молодого и со стороны, интересно вдвойне. Почему обязательно нужно установить JOSM, зачем отмечать точку по продаже шаурм...

Очередные странности в алгоритмах ГОСТ Кузнечик и Стрибог Привет, %username%! Криптографические алгоритмы в России не проходят через открытые конкурсы, их просто спускают нам свыше. И рано или поздно это сильно нам аукнется. Эта статья об очередном исследовании наших ГОСТов. Читать дальше →

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

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

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

Яндекс улучшит алгоритмы распознавания голоса Пресс-секретарь ЗАО «Яндекс», Василий Ивашкин сообщил, что в поддержку службы Яндекс.Такси участились жалобы на качество распознавания речи. Как сами водители, так и пассажиры жалуются, что речь с акцентом очень плохо распознается. Часто возникают недоразумения при попытке...

Безболезненный Fallback Cache на Scala В крупных или микросервисных архитектурах самый важный сервис не всегда самый производительный и бывает не предназначен для хайлоада. Мы говорим о бэкенде. Он работает медленно — теряет время на обработке данных и ожидании ответа между ним и СУБД, и не масштабируется. Даже е...

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

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

Выбираем платформу email-маркетинга: на что обращать внимание российским компаниям Email-маркетинг – эффективный инструмент привлечения клиентов, и сегодня существует большое количество сервисов для почтовых рассылок. Проблема в том, что многие из них не подходят российским компаниям. Причин этого может быть много, так что сегодня мы поговорим о том, на ...

iOS-дайджест №4 (5 апреля – 26 апреля) Привет, Хабр! Это новый выпуск дайджеста про новости iOS-разработки для iOS-разработчиков и не только (начинается дайджест с общих Apple-новостей, интересных более широкому кругу). Все предыдущие выпуски можно найти на VK-странице, а в этот раз экспериментально пробуем бол...

Хочу рецензии на хабр С момента моей регистрации на хабре у меня было ощущение какой-то недосказанности в статьях. Т.е. вот есть автор, вот его статья = мнение… но чего-то нет. Чего-то нехватает… Спустя время я понял, что недостает критического взгляда. В целом, его можно найти в комментариях. ...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

11 вопросов, которые нужно обсудить до начала работы Мало кто думает о разрешении или предотвращении конфликтный ситуаций в процессе сотрудничества до их возникновения. Очень часто к проблемам и порче отношений приводят не какие-то непримиримые разногласия и даже не способность каждой из сторон выполнять свои обязательства, а ...

Устройство компилятора Swift. Часть 3 Продолжаем изучать компилятор Swift. Эта часть посвящена Swift Intermediate Language. Если вы не видели предыдущие, рекомендую перейти по ссылке и прочитать: Общий обзор компонентов. Разбор исходного файла. Читать дальше →

Сжимаем список IP-адресов наилучшим образом Как-то я прочитал на Хабре статью про настройку BGP на роутере. Инструкции оттуда можно использовать для настройки домашнего роутера так, чтобы трафик на определённые IP-адреса шёл через другой канал. Однако здесь есть проблема: список IP-адресов может быть очень большим. ...

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

[Перевод] Один гигантский шаг для машины, играющей в шахматы Невероятный успех AlphaZero, алгоритма с глубинным обучением, провозглашает новую эру мышления, которая может оказаться недолгой для человека В начале декабря исследователи из компании DeepMind, занимающейся искусственным интеллектом и принадлежащей Alphabet Inc., родитель...

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

[Перевод] Распознавание источников освещения на картах окружения В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с п...

[Перевод] Типизируйте уже наконец свой код Привет хабр! На днях мне в очередной раз на глаза попал код вида if(someParameter.Volatilities.IsEmpty()) { // We have to report about the broken channels, however we could not differ it from just not started cold system. // Therefore write this case into the logs a...

Карьерные стероиды. Базовый алгоритм Статья про быстрый карьерный рост внутри одной компании. Именно внутри одной, т.к. скачок при переходе — это другая методика, к ней нужно иначе готовиться (там больше комплект увольнения подходит). Сразу скажу: я не считаю, что строить карьеру — это правильно, без этого ник...

[Перевод] Поиск пути среди круглых препятствий Навигация по лесу Алгоритм поиска пути A* — это мощный инструмент для быстрой генерации оптимальных путей. Обычно A* демонстрируют при навигации по картам из сеток, но он может использоваться не только для сеток! Он может работать с любыми графами. Можно использовать A* для ...

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

Проблемы пакетной обработки запросов и их решения (часть 1) Практически все современные программные продукты состоят из нескольких сервисов. Часто большое время отклика межсервисных каналов становится источником проблем с производительностью. Стандартное решение такого рода проблем — это упаковка нескольких межсервисных запросов в од...

[Перевод] Я просканировал всю Австрию и нашёл… ...IP-камеры, принтеры, АСУ ТП и многое другое Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/се...

[Перевод] 5 главных алгоритмов сэмплинга Работа с данными — работа с алгоритмами обработки данных. И мне приходилось работать с самыми разнообразными на ежедневной основе, так что я решил составить список наиболее востребованных в серии публикаций. Эта статья посвящена наиболее распространённым способам сэмплинга ...

[Из песочницы] Оптимизация хвостовой рекурсии в JavaScript Привет, читатель. Иногда для решении задачи приходится использовать Рекурсию, в которой есть свои плюсы и минусы. Я столкнулся с проблемой переполнения стека. Максимальная глубина рекурсии ограничена движком JavaScript. Точно можно рассчитывать на 10000 вложенных вызовов, н...

Находим текст на вывесках и упаковках с помощью смартфона Проблема автоматического поиска текста на изображениях существует достаточно давно, как минимум с начала девяностых годов прошлого века. Они могли запомниться старожилам повсеместным распространением ABBYY FineReader, умеющим переводить сканы документов в их редактируемые ва...

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

CVE-2019-6111 и другие уязвимости в scp TL;DR; Совсем недавно ( примерно с 1983 года ) оказалось, что OpenSSH, как наследник rsh, для команды scp ( ex. rcp ) позволяет серверу выбрать, какой файл и с какими параметрами вам передать. А уязвимости вывода позволяют скрыть, какой именно файл вам передали. То есть прос...

Как DNSCrypt решил проблему просроченных сертификатов, введя срок действия 24 часа Раньше сертификаты часто истекали из-за того, что их нужно было обновлять вручную. Люди просто забывали это сделать. С появлением Let’s Encrypt и автоматической процедуры обновления вроде бы проблема должна быть решена. Но недавняя история с Firefox показывает, что на само...

Узнаем паспортные данные физического лица по ФИО (если есть залоговое имущество) А так же узнаем ФИО и паспортные данные по номеру автомобиля если он взят в кредит. Без регистрации и СМС. Читать дальше →

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

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

Обмен сайта на Битрикс и 1С: решение основных проблем В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению Статья будет полезна как программистам 1С, так и Битрикс разработчикам. Текст структурирован по принципу: проблема — варианты решения. Если есть конкретная задача, то сразу переходите п...

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

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

Хабро-самоубийство. Боль планирования в 1С Не я придумал, но я согласен с тем, что для понимания решений и их полезности нужна боль, или, как говорят ребята в костюмах, pain. Если у вас нет трудностей с дефицитами, избыточными запасами, просрочкой отгрузок, и другими симптомами плохого планирования – отлично, статья ...

Слёрм: интенсив по Kubernetes. Программа и бонусы 27-29 мая мы проводим четвертый Слёрм: интенсив по Kubernetes. Бонус: онлайн-курсы по Docker, Ansible, Ceph Мы вывели из Слёрма темы, которые важны для работы с Kubernetes, но напрямую к k8s не относятся. Как, почему и что получилось — под катом. Все участники Слёрма-4 полу...

Ход конём по битам. Шахматный Bitboard Добрый день. Эту статью я написал специально для студентов курса «Алгоритмы для разработчиков» в OTUS и сегодня хочу поделиться ею со всеми читателями нашего блога. Шахматный конь стоит на шахматной доске и задумчиво смотрит в шахматную даль. Сколько разных ходов он может с...

Habr Weekly #24 / Как провести телефонных мошенников, робот за 800к ₽, конкурс авторов на Хабре, почти российский SSD Если вам есть что сказать на темы, которые мы обсуждали в выпуске, присылайте нам свои мысли голосовым сообщением через телеграм-бота t.me/habrpodcast_bot. Мы выберем несколько мнений и добавим их в следующем выпуске. Если вам удобнее слушать подкасты в телеграме, но вы не...

Алгоритм Гровера и поиск данных Привет, Хаброжители! Мы недавно сдали в топографию книгу Криса Бернхарда «Квантовые вычисления для настоящих айтишников». Здесь решили поделится отрывком из книги «Алгоритм Гровера и поиск данных» Мы вступаем в эпоху больших данных. Эффективный поиск в гигантских массивах ...

[Перевод] Must-have алгоритмы машинного обучения Хабр, привет. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки. Метод главных компонент (PCA)/SVD Это один из основных алгоритмов машинного обучения. Позволяет уменьшить размерность данных, потер...

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

Уоррен Баффет продал свою долю в Oracle «Оракул из Омахи» внезапно потерял коммерческий интерес к Oracle Corp.

Зачем мы болеем за спортивное программирование На протяжении восьми лет Naumen активно занимается образовательными программами, в частности, поддерживает олимпиады по спортивному программированию. Сегодня расскажем, как изменилось АСМ-движение и почему оно нам интересно. Отметим сразу, что мы не будем писать про спортив...

«Я бы открыл на юге России особую зону ИТ» — 10 вопросов программисту #11. Новый сезон Прошлым летом мы запустили рубрику «10 вопросов программисту», и на протяжении 10 выпусков в ней было довольно весело. Хорошие люди, у которых не всегда есть доступ к огромной аудитории, смогли высказаться. Кто-то нашел понимание, кто-то наткнулся на критику. Перед 11 вы...

NILFS2 — пуленепробиваемая файловая система для /home Как известно, если неприятность может произойти, то она обязательно произойдёт. Наверное, у каждого были случаи, когда случайно был стёрт свежий важный файл, или случайно был выделен и уничтожен текст в текстовым редакторе. Если вы — хостер или владелец сайта, то, наверно...

[Из песочницы] Профилирование под Linux с помощью Performance Analyzer Профилирование под Linux с помощью Performance Analyzer Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполе...

[Перевод] Озвучивание прошлого. Руководство для историков по преобразованию данных в звук Мне надоело смотреть на прошлое. Есть много руководств по воссозданию внешнего облика исторических артефактов, но часто мы забываем, что это творческий акт. Возможно, мы слишком привязаны к своим экранам, слишком много значения придаём внешнему облику. Давайте вместо этого п...

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

[Перевод] Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще» Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программис...

[Из песочницы] Оптимизация сайта для GooglePage Speed (учтены все особенности после его обновления) Эта статья будет интересна, кто столкнулся с разного рода проблемами после обновления Google PageSpeed и претензиям со стороны заказчиков или начальника, почему упал бал или возникло такое количество замечаний. А так же тем, кто производит оптимизацию сайтов. В первую очеред...

[Перевод] Указатели в Python: в чём суть? Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам упр...

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

Сканирование на уязвимости и безопасная разработка. Часть 1 В рамках профессиональной деятельности разработчикам, пентестерам, безопасникам приходится сталкиваться с такими процессами, как Vulnerability Management (VM), (Secure) SDLC. Под этими словосочетаниями скрываются различные наборы практик и используемых инструментов, которы...

Об open-source реализациях хэш-функции ГОСТ Р 34.11-2012 и их влиянии на электронную подпись ГОСТ Р 34.10-2012 В свое время реализация отечественных криптографических алгоритмов в библиотеке libgcrypt очень меня вдохновила. Стало возможным задействовать эти алгоритмы и в Kleopatra и в Kmail и в GnuPg в целом, рассматривать библиотеку libgcrypt как алтернативу openssl с ГОСТ-ым engine...

Предсказание красоты заката TL;DR: Из чего состоит красивый закат? Как предсказать эти элементы заката? Откуда взять данные для предсказаний? Для удачной фотосессии, требуется, как правило серьезная подготовка. И если собрался снимать закат, хорошо бы знать заранее, насколько этот закат будет красив. ...

Видеокарты Intel Xe могут заметно уступать их конкурентам от Nvidia и AMD Как известно, дела у Intel обстоят не самым лучшим образом. Но всё может стать ещё хуже, поскольку ходят слухи, что дискретные видеокарты Xe могут не оправдать ожиданий. Согласно источнику, существует множество проблем с разработкой Xe, как с аппаратной, так и с программной ...

Микросервисы. Версионность в системах непрерывной интеграции и развертывания CI/CD на примере использования TFS Проблематика Для больших и технически сложных проектов, над которыми как правило одновременно работают много распределенных команд, существует известная проблема версионности разрабатываемого ПО, которую разные компании решают по-разному. Читать дальше →

[Из песочницы] Играем в консоли браузера Как прекрасен этот мир сonsole.log() — хороший метод, чтобы вывести отладочную информацию в веб-консоль. Можно выводить числа, строки, массивы, объекты, функции, обычный текст, к тому же, ко всему этому можно добавлять форматирование, цвет, фон и вообще довольно много друг...

[Из песочницы] Будущее за облаками 1.1. Введение Говоря о развитии ИТ в последние несколько лет, нельзя не отметить долю Облачных решений среди прочих. Давайте разберемся, что же такое облачные решения, технологии и т.д. Облачные вычисления (или же облачные сервисы) — это особый набор инструментов и методов ...

[Из песочницы] 40 лучших инструментов и ресурсов Laravel Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом оригинальной статьи с моего блога. Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь! Читать дальше →

[Из песочницы] Уведомления о входах на сервер (SSH/TERMINAL) дешево и сердито Приветствую сообщество. Это первая публикация, далеко не профи-администратора, но просто захотелось поделиться короткой и простой наработкой, которая может оказаться полезной для такого же новичка как я сам. Сложилось так, что потребовалось контролировать около 30 VDS-ок на...

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

[Из песочницы] Какой дистрибутив лучше использовать для вашей embedded системы? Какой дистрибутив лучше использовать для embedded систем. Этот вопрос является актуальным на сегодняшний день. Существует три актуальных подхода для решения этой задачи: Использовать готовый дистрибутив для вашего одно платного компьютера(Armbian, Openwrt и т.д.) Собрать...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

Разработчик SearchFace о возможностях алгоритма Всем привет, я один из разработчиков сервиса SearchFace и готов поговорить о нашем сервисе в комментариях. Из-за шумихи с иском ВК на второй план отошло то важное, ради чего мы запустили сервис — чтобы протестировать возможности поиска. А раз уж теперь сервис доступен ши...

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

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

Субъективный user.js для Mozilla Firefox и не только Вот уже почти 15 год я пользуюсь Mozilla Firefox на ежедневной основе, и, конечно, у меня есть свой небольшой субъективный user.js, который с каждым релизом новой версии приходится обновлять. Спешу им (и не только) поделиться. Если кому-то интересно, то добро пожаловать под...

Сибирское саппорт-комьюнити: начало Это было обычное утро обычного апрельского вторника. Мы сидели на кухне и холиварили о том, как нужно делать саппорт. Вдруг Дима Дягилев (Operations Manager Technical Support) нарушил привычный ход событий. Причем не только на вторник, но и ближайшие полгода. — Ребята, вам ...

Трёхпроходные протоколы Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

[Из песочницы] SpecFlowMaster: как улучшить качество тестов Делаем правильные вещи Современная разработка не может существовать без автоматизированных тестов. Тесты могут быть написаны очень быстро даже непрофессионалами. Таким образом, у нас есть тесты, все как бы хорошо. Можем ли мы довериться таким тестам? Каково качество наших ин...

Подготовка к захвату мира, закрываю гештальты Спрашивается, о чём мой проект? А я сам не знаю. Планы меняются. Идей много. Но есть общий базовый функционал. Вот я пока про это. Уже 5 месяцев. После весеннего обострения, в приступе одиночества, хочу поделиться некоторыми наработками. Читать дальше →

[] 5 простых правил удобного для восприятия кода Ускользает понимание своего или чужого кода? Не можете вникнуть в алгоритм? Проводите кучу время в отладке, но найти место неверной инициализации не получается, а хочется получать удовольствие от кодирования? Вспомните о приведенных ниже правилах и примените их! В статье...

СПАМ и GDRP — как делать почтовые рассылки «там»? Моя компания занимается созданием баз данных для «холодных» почтовых рассылок среди Российских компаний (кстати, это довольно востребовано), но всегда интересно расширить кругозор и посмотреть «что у них»? Мы поискали, нашли и свели воедино общие рекомендации, чтобы помочь т...

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

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

Еще раз о принципе подстановки Лисков, или семантика наследования в ООП Наследование — один из столпов ООП. Наследование используется для того, чтобы переиспользовать общий код. Но не всегда общий код надо переиспользовать, и не всегда наследование — самый лучший способ для переиспользования кода. Часто получается, так, что есть похожий код в дв...

[Из песочницы] Настройка reverse proxy для Nextcloud и ONLYOFFICE Привет, Хабр! Я занимаюсь тестированием редакторов документов ONLYOFFICE, а также тестированием интеграции редакторов в сторонние сервисы. К нам часто обращаются пользователи с различными проблемами при настройке, решения которых просто так не найти. Одна из самых популярных...

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

Как попасть на 1,7 млн рублей: О подвохах при покупке Toyota Land Cruiser Prado 150 Как показала практика, схемы 90-х годов не забыты, а просто были на время отложены. На YouTube-канале «Клубный сервис» представлен обзор типичного «развода» при продаже битого автомобиля. Представленный Toyota Land Cruiser Prado 150 2011 года выпуска имеет пробег 60 тыс. ки...

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

[Перевод] Храним SSH-ключи безопасно Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь за то, что какое-то приложение может украсть или расшифровать их. Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh. Для...

[Перевод] Учим английский: 7 практических способов расширить словарный запас Одна из важнейших задач при изучении иностранного языка – это не только практика с грамматикой, но и расширение словарного запаса. Чем больше слов вы знаете, тем в большем количестве ситуаций сможете объясниться – даже если у вас большие проблемы с артиклями и формирование...

[recovery mode] Представительство российских ИТ-компании в Сингапуре: а почему бы и нет? Приветствую, коллеги! Однажды, разбирая входящую почту, я обратила внимание, что немалая часть вопросов клиентов касалась открытия своего ИТ-дела в Сингапуре. Наш портал специализируется на подобного рода случаях, но афишировать своё участие в проекте я изначально не очен...

О чём писать в White Paper и как её использовать для продвижения ИТ-продукта? В начале 2019 года один ИТ-клиент поставил передо мной задачу — написать White Paper (она же «белая книга», официальная публикация, «вайт пейпер» и т. д.). А я никогда этого раньше не делал, хотя контент-копирайтингом занимаюсь давно. Решил поискать в Рунете — одна «SEO-вода...

[Перевод] Нейросети и глубокое обучение: онлайн-учебник, послесловие: существует ли простой алгоритм для создания интеллекта? Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей ч.2: почему регуляризация помогает уменьшать переобучение? ч.3: как выбрать гиперпара...

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

ок.tech: Data Толк #4 новогодний выпуск Если вспомнить практику анализа данных 10 лет назад и сравнить её с тем, что есть сейчас, то станет очевидно —за декаду Data Science проделал гигантский путь. Компьютерное зрение, рекомендательные системы, большие данные, искусственный интеллект — в 2010 эти слова использо...

[Перевод] Машинно-синестетический подход к обнаружению сетевых DDoS-атак. Часть 2 И снова здравствуйте. Сегодня мы продолжаем делиться материалом, приуроченным к запуску курса «Сетевой инженер», который стартует уже в начале марта. Мы видим, что многих заинтересовала первая часть статьи «Машинно-синестетический подход к обнаружению сетевых DDoS-атак» и се...

Заменить Object на var: что может пойти не так? Недавно я столкнулся с ситуацией, что замена Object на var в программе на Java 10 приводит к исключению в процессе выполнения. Мне стало интересно, много ли разных способов добиться такого эффекта, и я обратился с этим вопросом к сообществу: A puzzle: provide a Java code sam...

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

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

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

Golang: специфические вопросы производительности Язык Go набирает популярность. Настолько уверенно, что появляется все больше конференций, например, GolangConf, а язык входит в десятку самых высокооплачиваемых технологий. Поэтому уже имеет смысл разговаривать о его специфических проблемах, например, производительности. Кро...

Универсальная память: SRAM, DRAM и флеш-память в одном флаконе В наши дни существует не один вид памяти, каждый из которых применяется для той или иной задачи. Они со своими задачами справляются достаточно хорошо, но есть ряд недостатков, которые не дают возможность назвать какой-либо из этих вариантов памяти универсальным. Если добав...

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

Сетевые настройки из FreeRadius через DHCP Прилетела задача наладить выдачу IP адресов абонентам. Условия задачи: Отдельного сервера под авторизации не дадим — обойдетесь ;) Абоненты должны получать сетевые настройки по DHCP Сеть разнородная. Это и PON оборудование, и обычные свичи с настроенной Опцией 82 и WiFi б...

[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...

Тайна прошивок Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н. Как с помощью самых общих предположений, основанных на знании современных процессорных архитектур, можно восстановить структуру программы из бинарного образа неизвестной архитектуры, и дальше восстановит...

Из Groovy ушёл Cédric Champeau‏ В проекте Apache Groovy перестаёт участвовать один из ключевых участников сообщества, само имя которого у многих ассоциировалось с этим языком. Уходит Седрик Шампо, известный в первую очередь как автор статического компилятора Groovy. Если рассмотреть причины ухода в том ...

Windows, PowerShell и длинные пути Думаю, вам, как и мне, не раз приходилось видеть пути вида \!!! Важное\____Новое____\!!! Не удалять!!!\Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративны...

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

Как мы пробивали Великий Китайский Фаервол (ч.1) Всем привет! На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахожд...

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

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

CRM с человеческим лицом «Внедряем CRM? Ну ясно, мы под колпаком, теперь только контроль и отчёты», — примерно так рассуждает большинство сотрудников компаний, услышав о том, что скоро работа переместится в CRM. Считается, что CRM — это программа для руководителя и исключительно его интересов. Это н...

Получение обычных SMS в мессенджеры Viber и Telegram (с помощью шлюзов GoIP) Во многих компаниях использующих IP-телефонию и применяющих GSM-шлюзы для корпоративной связи часто возникает вопрос приема и отправки СМС со своих номеров. Для китайских моделей GOIP существует неплохое решение GOIP-SMS-Сервер, о котором неоднократно упоминалось на простор...

Kонсенсус в Exonum: как он работает ExonumTM — это наш открытый фреймворк для создания приватных блокчейнов. Сегодня мы расскажем, как работает его алгоритм консенсуса. Читать дальше →

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

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

Суперинфекции, антибиотики и модели зомби-апокалипсиса Бактерии, а не рак, террористы и катастрофы унесли жизни огромного количества людей. Одна только Yersiniapestis (чумная палочка) привела к смерти 150 млн человек. Прием антибиотиков является основным методом борьбы с бактериальными инфекциями. Но что если лекарства переста...

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

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

Баг в Adobe Premiere CC убивает динамики некоторых MacBook Pro Если для обработки видео на своём MacBook Pro вы используете Adobe Premiere CC, то будьте предельно осторожны, потому что текущая версия популярного редактора может резко повысить громкость звука, вплоть до треска, и она не изменится до перезагрузки девайса. Динамики буквал...

[Перевод] Понимание алгоритма БПФ Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали. Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов о...

О близости вершин «До того, как вы постигнете это, оно кажется чудом. Но после в нем нет ничего особенного.» Не, не про горы, — про графы. В математике есть вопросы, формулировка которых доступна каждому, а вот решение нетривиально и без специальной подготовки трудно объяснимо. Одну из подоб...

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

Не только фьючерсы и опционы: какие еще вторичные финансовые инструменты существуют на биржах и не только Изображение: Unsplash В нашем блоге мы уже рассказывали о фьючерсах и опционах. Это так называемые производные инструменты – так их называют, потому что они основаны на базе какого-то другого актива (например, акции). Несмотря на популярность фьючерсов и опционов, сущес...

Выбираем, наконец, бюджетный мультиметр с хорошим функционалом Два года назад был опубликован пост с тестированием мультиметров. Цена протестированной модели Fluke 87-V начинается от 40 тысяч рублей, что для рядового пользователя находится за пределами разумного, за что автора закономерно отругали. Более того, часть пользователей разум...

Светодиодная терапия, или «молодильные яблоки» XXI века LED Magic — несложный девайс, который существует в рамках мейнстримного направления — диодной терапии. Если коротко, то действие его можно описать примерно так: До/После На самом же деле все не так просто и не так уж «волшебно». У этой магии есть вполне себе история иссле...

[Из песочницы] Фундаментальная проблема тестирования Введение Добрый день, хабровчане. Решал я тут давеча тестовое задание на вакансию QA Lead для одной финтех компании. Первая задача, составить тест-план с полным чек-листом и примерами тест-кейсов для проверки электрического чайника, решается тривиально: ГОСТ 7400-81. Электр...

RubyRussia 2019: Николай Сверчков о serverless 28 сентября на конференции RubyRussia Николай Сверчков выступит с докладом Serverless is Ruby Future. Иван Соловьев обсудил в интервью, чем же интересно это направление, и почему рубистам стоит обратить на него внимание. Читать дальше →

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

Справочник по источникам событий в Rx RxJava используется в большом количестве android-приложений, но при этом многие не знают других источников событий, кроме Observable и, может быть, Flowable. Они забывают о специализированных классах Single, Maybe и Completable, которые зачастую способны добавить больше яс...

Занимательный C#. Пять примеров для кофе-брейка Написав уже не одну статью про Veeam Academy, мы решили приоткрыть немного внутренней кухни и предлагаем вашему вниманию несколько примеров на C#, которые мы разбираем с нашими студентами. При их составлении мы отталкивались от того, что наша аудитория — это начинающие разра...

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

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

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

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

[Из песочницы] IBM Integration Bus и с чем его едят Добрый день, уважаемый читатель. Существует такой класс продуктов как ESB. Как упоминается в Википедии это — связующее программное обеспечение, обеспечивающее централизованный и унифицированный событийно-ориентированный обмен сообщениями между… и далее по тексту. Примеров...

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

[Перевод] Тренды программирования: чего можно ожидать в 2020 году? Как бы безумно это не звучало, но 2020 год наступит уже очень скоро. «2020 год» — это похоже на фразу из научно-фантастического романа. Но это не фантастика. Нас от этой даты отделяет всего несколько месяцев. Автор материала, перевод которого мы публикуем сегодня, говорит...

В Parity снова заговорили о хардфорке Ethereum для высвобождения $62 млн Разработчик популярного клиента Parity компания Parity Technologies вновь заявила о возможности восстановления доступа к замороженным средствам на общую сумму в $62 млн. По мнению CEO Ютты Штайнер, опция CREATE2 в хардфорке Constantinople создает все необходимые условия для ...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

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

ИИ в медицине: науки о жизни и открытие лекарств Привет, Хабр! Сегодня я покажу тебе свой перевод одного замечательного интервью с Александром Жаворонковым. Надеюсь тебе будет так же интересно читать, как и мне переводить. Читать дальше →

График в браузере для Arduino и STM32 Всем привет. Продолжаю развивать свой проект по визуализации трендов данных, добавил возможность просмотра в браузере в реальном времени. Кому интересно прошу. Читать дальше →

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

Роскомнадзор, который мы заслужили На Хабре есть тема, табуированная больше, чем минет. Это политика. Поэтому прошу воспринимать мою статью, как статью исключительно социальной направленности. Не ищите даже намеков на политику. Начну с легкой провокации: заявлю, что IT-сообщество в некоторой степени винова...

React.lazy? Но что если у вас не компонент? Этот code splitting, честное слово, уже немного надоел. Мы все ходим и ходим по кругу, и в этом и есть главная проблема. Code splitting начинался как разделение на уровне Модулей, а закончился как разделение на уровне Компонент. И проблема тут исключительно в голове — Reac...

Гильберт, Лебег … и пустота Под катом исследуется вопрос, как должен быть устроен хороший алгоритм многомерной индексации. На удивление, вариантов не так уж и много. Читать дальше →

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

[Что не так с GraphQL]… И как с этим бороться В прошлом материале, мы рассмотрели неудобные моменты в системе типов GraphQL. А теперь мы попробуем победить некоторые из них. Всех заинтересованных, прошу под кат. Читать дальше →

Customer Development как жизненная философия Это пятничная статья про применение современных бизнес-методик в повседневной жизни. Прошу воспринимать с юмором. Читать дальше →

Flutter 1.2. Что нового? 26 февраля команда Flutter анонсировала первый стабильный продуктовый релиз — Flutter 1.2. Всех, кого интересует, что нового принесло обновление — прошу под кат. Читать дальше →

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

Поиск данных и объектов в базе данных MS SQL Server с помощью бесплатной утилиты dbForge Search Описание общей потребности в поиске данных и объектов в базе данных Поиск данных, а также хранимых процедур, таблиц и других объектов в базе данных является достаточно актуальным вопросом в том числе и для C#-разработчиков, а также и для .NET-разработки в целом. Достаточно ...

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

Как я патчил Вселенную :) На Хабре достаточно много статей про разработку игр, однако среди них очень мало статей, которые касаются “закулисных” тем. Одной из таких тем является организация доставки, собственно, игры большому количеству пользователей на протяжении длительного времени (год, два, три...

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

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

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

[recovery mode] QtCreator и его использование в качестве IDE для Rust В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с) Что нужно совре...

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

Новый спецпроект от ForkLog и Minter «Delegated-Proof-of-Stake как альтернатива PoW и PoS: сравнение и перспективы» Блокчейн-системы не могут существовать без алгоритмов консенсуса. Есть проверенный временем Proof-of-Work, есть энергоэффективный Proof-of-Stake, а есть Delegated-Proof-of-Stake, на котором построены Топ-5 блокчейнов по пропускной способности. DPoS посвящен новый спецпроект ...

NB-IoT, Narrow Band Internet of Things. Общая информация, особенности технологии Добрый день всем! Здесь описывается NB-IoT с точки зрения оконечных устройств и простых пользователей. Так как информации много, то разобью её на несколько частей. В этой части обсудим общую информацию, особенности технологии NB-IoT и состояние на начало 2019 г. Читать даль...

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

Эксплуатация Microsoft Edge от CVE до RCE на Windows 10 В рамках данной статьи мы достаточно подробно рассмотрим процесс написания эксплоита под уязвимость в Microsoft Edge, с последующим выходом из песочницы. Если вам интересно узнать, как выглядит этот процесс, то welcome под кат! Читать дальше →

Каждый восьмой украинский подросток зависим от соцсетей [Исследование ЮНИСЕФ] Есть немало исследований, которые указывают на негативное воздействие социальных сетей на психику детей. Зависимость от соцсетей как явление существует со времен появления этих самых соцсетей и на сегодняшний день этим уже никого не удивить. Но вот сейчас ЮНИСЕФ — агентство ...

Замеряем производительность Qt Решила продолжить цикл статей об ОС «Аврора» (до недавнего времени называвшейся Sailfish). За время, что я работаю с этой ОС, у меня накопились разные наблюдения, которые касаются производительности приложений на Qt и системы в целом, ибо девайсами она разнообразными обвешан...

[Перевод] Структуры данных для программистов игр: bulk data Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я исполь...

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

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

[Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы ...

Быстрый старт: Go + Apache Kafka + Redis В последнее время я, в силу необходимости, просмотрел все объявления о вакансиях Go-разработчиков, и в половине из них (как минимум) упоминается платформа для обработки потоков сообщений Apache Kafka и NoSQL база данных Redis. Ну и все, конечно, хотят, чтобы кандидат знал Do...

OSDay 19 или почему еще жив язык Си Недавно (10-11 июня) в Москве прошла очередная научно-практическая конференция OSDay. На этот раз конференция проходила в математическом институте им. В.А. Стеклова РАН. Формально она была посвящена инструментам разработки операционных платформ и системного программного обе...

Улучшаем работу Wi-Fi. Общие принципы и полезные штуки Каждый кто собирал, покупал или хотя бы настраивал радиоприёмник, наверное, слышал такие слова как: чувствительность и избирательность (селективность). Чувствительность — этот параметр показывает, насколько хорошо ваш приёмник может принимать сигнал даже в самых удалённых ...

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

Кластерное хранилище для небольших web-кластеров на базе drbd+ocfs2 О чем мы расскажем: Как быстро развернуть общее хранилище для двух серверов на базе решений drbd+ocfs2. Для кого это будет полезно: Туториал станет полезен системным администраторам и всем, кто выбирает способ реализации хранилища или хотят попробовать решение. От каких р...

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

Враг не пройдёт: как поменять пароль на роутере Многие используют стандартный пароль на своём интернет-роутере и даже не подозревают, что его можно поменять. А те, кто знает, что его менять можно, зачастую не в курсе, зачем и как это делать. Рассказываем просто и понятно. ...

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

Сбалансированные двоичные деревья поиска: реализация на Julia Иллюстрация из работы Г.М. Адельсон-Вельского и Е.М. Ландиса 1962 года Деревья поиска — это структуры данных для упорядоченного хранения и простого поиска элементов. Широко применяются двоичные деревья поиска, в которых у каждого узла есть только два потомка. В этой статье ...

[Из песочницы] Ansible + авто git pull в кластере виртуальных машин в облаке Доброго дня У нас имеется несколько облачных кластеров с большим количеством виртуальных машин в каждом. Все это дело у нас хостится в Hetzner'e. В каждом кластере у нас имеется по одной мастер-машине, с нее делается снэпшот и автоматически разносится по всем виртуалкам вн...

За нарушение GDPR наказывают активнее — свежие штрафы и влияние регламента за пределами ЕС Рассказываем, кого наказали регуляторы, как и на что это может повлиять. / фото Marco Verch CC BY GDPR вступил в силу более года назад. За это время Еврокомиссия выписала почти сотню штрафов — общая сумма превысила десятки млн евро. О некоторых из них мы рассказывали в про...

Дефективное встраивание функций в Go Эквивалентен ли по производительности код, представленный ниже? // (A). Вызов HasPrefix будет встроен. return strings.HasPrefix(s, "#") // (B). Ручное встраивание тела HasPrefix. return len(s) >= len("#") && s[:len("#")] == "#" Ответ: нет. За подробностями и объя...

[Перевод] Типичные заблуждения об ООП Привет, Хабр! Сегодня вас ждет переводная публикация, в некоторой степени отражающая наши поиски, связанные с новыми книгами об ООП и ФП. Просим поучаствовать в голосовании. Читать дальше →

[Перевод] Как начать использовать User Mode в Linux Вступление от переводчика: На фоне массового входа в нашу жизнь различного рода контейнеров может быть довольно интересно и полезно узнать, с каких технологий это всё начиналось когда-то. Некоторые из них можно с пользой применять и по сей день, но не все о таких способах по...

10 бесплатных утилит ApexSQL для управления базами данных Microsoft SQL Server Привет, Хабр! Мы много работаем с Quest Software, и в этом году они приобрели ApexSQL — производителя решений для управления и мониторинга баз данных Microsoft SQL Server. В России об этих ребятах, как нам кажется, знают мало. На главной своего сайта они пишут «Killer tool...

Чек-лист: что нужно было делать до того, как запускать микросервисы в prod Эта статья содержит краткую выжимку из моего собственного опыта и опыта моих коллег, с которыми мне днями и ночами доводилось разгребать инциденты. И многих инцидентов не возникло бы никогда, если бы всеми любимые микросервисы были написаны хотя бы немного аккуратнее. К сож...

[Перевод] Установка IPS-дисплея в Thinkpad T430S Если у вас ноутбук ThinkPad T420/T420S/T430/T430S, у меня есть отличная новость: вы можете заменить экран на что-нибудь достойное! Для ноутбука потребуется небольшая хирургическая операция, но это выполнимо! Если у вас ThinkPad другой серии, вам повезло… у T430S один из худ...

Security Week 34: неординарные уязвимости в Windows 13 августа компания Microsoft выпустила очередной апдейт безопасности (обзорная новость) для операционных систем Windows и офисных программ, и на этот раз патч оказался по-настоящему гигантским: кому-то явно не удалось сходить этим летом в отпуск. Всего было закрыто 93 уязви...

[Перевод] Что происходит, когда AI может спросить мозг — что он хочет видеть? Эти изображения, полученные с помощью алгоритма искусственного интеллекта под названием XDREAM могут стимулировать определенные нейроны гораздо лучше чем любая естественная картина. В апреле 2018 года, в Гарвардской лаборатории, обезьяне (по имени Ринго) показывали странны...

Rust + CLion = Любовь Привет, Хабр! В общем как я обещал вот рассказ о том как CLion в качестве IDE для Rust на MacOS использовать. Почему не IntelliJ IDEA? Потому что CLion может дебажить. Почему LLDB, а не GDB? Потому что LLDB у меня вместе с XCode был установлен. Мне нравиться эта IDE и наде...

Алгоритмы поиска простых чисел «Самое большое простое число 232582657-1. И я с гордостью утверждаю, что запомнил все его цифры… в двоичной форме». Карл Померанс Число называется простым, если оно имеет только два различных делителя: единицу и само себя. Задача поиска простых чисел не дает покоя математи...

SQL в CSV с помощью DBMS_SQL Часто при решении задач системной интеграции требуется представить некоторый объем данных в том или ином формате. При этом потребителем данных может быть кто угодно, а вот источником почти всегда является корпоративная база данных. К примеру, производитель может требовать у ...

По заказам Embedded-разработчиков: ищем ошибки в Amazon FreeRTOS Каждый, кто программирует микроконтроллеры, наверняка знает о FreeRTOS, или по крайней мере слышал об этой операционной системе. Ребята из Amazon решили расширить возможности этой операционной системы для работы с сервисами AWS Internet of Things – так появилась Amazon FreeR...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

[Перевод] Опрос по инструментам фронтенда 2019 — результаты TL;DR. В большинстве категорий теперь выделяются явные лидеры — несколько лет назад такого не было. Это помогает накоплению знаний. Поэтому Навыки владения инструментами в среднем становятся глубже у разработчиков всех уровней. В этом году 3005 разработчиков ответили на 27...

Facebook, Google и Twitter присоединятся к слушанию о цензуре в ... Представители Facebook, Google и Twitter предстанут перед судейской коллегией Палаты представителей США на следующей неделе. Слушание «Удушение свободы слова: цензура и публичный дискурс» назначено на 10 апреля.     Заявленная повестка настолько общая ...

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

[Перевод] Джессика Ливингстон: «Как мы создавали Y Combinator. Эмоциональная составляющая» «Мы должны были судить претендентов не по тому, кем они были, а по тому, кем они могли стать.» В 2005 году я приложила руку к основанию Y Combinator, первого «акселератора». Сегодня их сотни по всему миру, но в 2005 году то, что мы делали, было настолько необычным, что бол...

Прямая печать на футболках с Epson SureColor SC–F и её отличие от шелкографии, термоаппликации и сублимации В одном из недавних постов я рассказывал о том, как небольшие компании зарабатывают на видеомаппинге и насколько эффектно это смотрится, а также как-то рассматривал основные отличия цифровой печати от офсетной и флексопечати. В этот раз хочу подсказать еще одну идею для мини...

Уничтожить монополию Америки в EDA. Иннополис делает первый шаг Еще с 1990-х годов меня поражало, что проектирование всей мировой цифровой микроэлектроники контролируется двумя конторами в Калифорнии, которые находятся в 10 минутах езды друг от друга — Synopsys и Cadence. В те времена четверть мирового проектирования делалось в Японии ...

[Из песочницы] Внедрение в компании системы поиска конструкторов-механиков с помощью Low-Code платформы Проблема подбора конструкторов для небольшой компании Так получилось, что любой проект в нашей компании не обходится без участия конструктора-механика и они постоянно перегружены работой. Сейчас в штате 4 конструктора. За последние 2 года мы сменили уже троих. Бывали моменты...

[recovery mode] VueJs + MVC минимум кода максимум функциональности Добрый день. Я много лет использовал WPF. Паттерн MVVC наверное один из наиболее удобных архитектурных паттернов. Я предполагал что MVC почти то же самое. Когда я на новом месте работы я увидел использование MVC на практике, то был удивлен запутанностью и одновременно отсут...

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

Издание The Guardian опубликовало первую новость, написанную алгоритмом Австралийское подразделение The Guardian опубликовало первую в истории издания новостную заметку, сгенерированную алгоритмом. Как сообщается, новость посвящена снижению количества пожертвований австралийским политическим партиям. Автоматизированная система ReporterMate выдел...

Перспективы нормативной работы вокруг технических аспектов блокировок (доклад на КРОС-2019) Проблем от блокировок у операторов связи много. Есть проблемы владельцев сайтов, есть проблемы хостеров. И ещё одна категория. Когда я изучаю нормативную базу, то меня удивляет вот что: авторы документов всё время забывают, о том, что есть ещё какие-то участники процесса, по...

[Перевод] Настоящее реактивное программирование в Svelte 3.0 Заголовок статьи может показаться немного кричащим, впрочем как и сам фреймворк Svelte и те идеи, что стоят за ним. Если вы ещё не знаете ничего про Svelte, пристегнитесь, сейчас мы рванём навстречу революции. Учтите, что это не урок по началу работы со Svelte. Уже существуе...

[Перевод] Истории лунного компьютера. Часть 1 Часть 2 Часть 3 Часть фотографий была взята с сайта Hack The Moon. Статья была представлена на 27-й ежегодной конференции по навигации и управлению Американского Общества Астронавтики (AAS) в Брекенридже, штат Колорадо, 6 февраля 2004. Предлагаемая вам версия содержит допо...

Универсальный перехват. Как обойти SSLPinning раз и навсегда и читать трафик любого приложения Для подписчиковОчень часто исследование внутренней работы прикладных программ можно свести к исследованию их трафика, и чаще всего передается он по протоколам семейства HTTP. Но каждое приложение может по-своему защищаться от «прослушки». Сегодня мы постараемся выяснить, что...

Модельно ориентированное проектирование. Создание достоверной модели, на примере авиационного теплообменника «Если на клетке слона прочтёшь надпись «буйвол», не верь глазам своим» Козьма Прутков В предыдущей статье о модельно-ориентированном проектировании было показано, зачем нужна модель объекта, и доказано, что без этой модели объекта про model based design можно говорить толь...

RS-485 на отечественных микроконтроллерах от фирмы Миландр Несколько дней назад я имел неосторожность завуалированно пообещать запилить пост про Миландр… Ну что ж, попробуем. Как вы, вероятно, уже знаете, существует российская компания Миландр, которая, среди прочего, выпускает микроконтроллеры на ядре ARM Cortex-M. Волею судеб я ...

Геймплейный ролик головоломки Photographs с GDC 2019 Пока Google на GDC делилась планами по революции в игровой индустрии, обычные разработчики традиционно показывали свои игры. Редакторы портала Touch Arcade сыграли в головоломку Photographs от автора 10000000 и You Must Build a Boat, которая выйдет уже 3 апреля. Несмотря на...

Как открыть фото HEIC с Айфона на компьютере: что это такое и как сделать обратно съемку в JPG? Существует множество графических форматов, но популярных не так и много. У каждого из них есть свои достоинства и недостатки, отличия в алгоритмах сжатия. Так, TIFF подходит для хранения растровой графики или изображений с большой глубиной цвета, PDF позволяет использовать в...

[Из песочницы] Использование учетных записей Joomla в проекте на Django Допустим что сайт, которым пользуются ваши пользователи, написан на Joomla, но для создания нового продукта для вашей аудитории вы выбрали связку Python/Django. Как следствие, возникает необходимость использовать в Django учетные записи пользователей из базы данных Joomla. ...

Что внутри чат-бота? Меня зовут Иван Бондаренко. Я занимаюсь алгоритмами машинного обучения для анализа текстов и устной речи примерно с 2005 года. Сейчас работаю в Московском Физтехе ведущим научным разработчиком лаборатории бизнес-решений на основе Центра компетенций НТИ по Искусственному инте...

[Из песочницы] Типичные ошибки Владельца продукта в Скраме Что делать, если вы не знаете, что такое Скрам? В первую очередь стоит хотя бы прочесть Руководство по Скраму (PDF) и начать ему следовать. Если вы не следуете этому руководству, значит вы делаете что угодно, только не Скрам. По сути Владелец продукта занимается максимизацие...

Транзакции в глобалах InterSystems IRIS СУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript. Подробнее о ...

[Перевод] Взаимодействие между компонентами Angular с использованием RxJS Руководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular. В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отн...

[Из песочницы] Мониторинг доступности хостов на Powershell Всем доброго времени суток, хочу поделиться простой инструкцией «Как можно перестать вручную пинговать десяток хостов. Без регистрации и СМС!». С просторов Интернета Важно: я не программист и не системный администратор, но мне приходиться работать одновременно с большим на...

Тайная вечеря разработчиков Казалось бы, в небольших командах разработки (20+ человек) не должны возникать проблемы с разобщённостью, работой над общим кодом и принятием технических решений. Но все мы знаем, что это не так (не говоря уже о командах вроде нашей, где 80+ человек). Три года назад для их р...

Послание будущему программисту Итак, вы решили стать программистом. Возможно, вам интересно создавать что-то новое. Возможно, вас манят большие зарплаты. Быть может, вы просто хотите сменить сферу деятельности. Не суть. Важно — вы решили стать программистом. Что же теперь делать? Читать дальше →

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

Архитектура нейронной сети для реализации алгоритма RL с возможностью задания одновременно выполняющихся действий Одна из классических схем нейронной сети для реализации алгоритма RL выглядит следующим образом: Где: inputs – входы в нейронную сеть; FC – (fully connected) архитектура скрытых слоев или CNN — FC – архитектура архитектура скрытых слоев (в зависимости о того, что подается ...

Mkcert: валидные HTTPS-сертификаты для localhost В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost. Традиционно есть два решения. Читат...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

Планировщик ресурсов в HPE InfoSight HPE InfoSight – облачный сервис НРЕ, позволяющий проактивно выявлять возможные проблемы с надёжностью и с производительностью массивов HPE Nimble и HPE 3PAR. При этом сервис может также сразу рекомендовать и способы устранения возможных проблем, причём в ряде случаев устра...

Метод бисекционного деления в тестировании Содержание Описание метода Применение тестировщиками Строка данных Файл Применение разработчиками Резюме Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравилс...

Накопительное обновление KB4515384 не ломает меню Пуск Microsoft заявляет, что печально известное накопительное обновление KB4515384 для Windows 10 версии 1903 не является причиной проблем с меню «Пуск» и поиском.Программный гигант выпустил это накопительное обновление 10 сентября в рамках цикла Patch Tuesday. Вскоре после запус...

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

Как аудиокапчу ИТ-гиганта «обошли» во второй раз Инженеры из Мэрилендского университета разработали систему, которая «обходит» reCAPTCHA от Google практически со стопроцентной вероятностью. Она задействует алгоритмы распознавания речи для решения аудиокапчи. Рассказываем, как это работает. Читать дальше →

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

Python + OpenCV + Keras: делаем распознавалку текста за полчаса Привет Хабр. После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST). ...

[Перевод] Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования (Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился). Я объясню вам доступным языком, что происходит при шифровании да...

Intel представила новую линейку серверных процессоров Xeon. Значительно дешевле, чем раньше, но все еще на 14 нм За последнюю неделю компания Intel анонсировала сразу несколько процессоров новой линейки Intel Xeon W-2200 для профессионального использования на рабочих станциях и в серверах. Если кратко, то: младшая модель 4 ядра/8 потоков, старшая — 18 ядер/36 потоков. Минимальна...

Интернет-провайдеры просят Минкомсвязь пускать их в дома без договора Источник фото: Евгений Асташенков/Интерпресс/ТАСС Сразу несколько крупнейших интернет-провайдеров федерального значения обратились к главе Минкомсвязи Константину Носкову с просьбой поддержать проект о либерализации доступа в многоквартирные дома, одобрив некоторые поправк...

Платформа для принтера из черного металла место алюминия Видел как народ заморачивается с алюминием. Алюминий дело хлопотное и не всегда оправданное. Придумал я такую конструкцию легче и жестче стандартной. Интересно насколько легче листового алюминия 5мм?если файлы по которым резали мне не перепутал то вот : https://yadi.sk/d/IXk...

Вы слышали про 3д принтер Picaso X pro? Часть 2 А вот и продолжение обзора на мой кредитный (шутка) пикасо. Давайте для начала рассотрим стоимость принтера: около 300 000р. За такие деньги можно купить около 3-ёх Desiner 3D. Как оказалось, принтер в полной мере не окупает себя, но всё же его приобретение не было ошибкой. ...

Корпоративные фрукты — Прошу внимания, коллеги. – директор постучал карандашом по столу. – Нам предстоит интересное мероприятие. Не сразу, но тишина установилась. Коммерческий директор и главный инженер продолжали о чем-то шепотом переговариваться, иногда посмеиваясь, но, заметив строгий взгляд...

[Перевод] Работаем с нейросетями: чек-лист для отладки Код программных продуктов для машинного обучения часто бывает сложным и довольно запутанным. Обнаружение и ликвидация багов в нем — ресурсоемкая задача. Даже простейшие нейросети с прямой связью требуют серьезного подхода к сетевой архитектуре, инициализации весов, оптими...

Как я искоренил причину stuttering и пропуска кадров во всех играх, а также случайно понизил температуру на 15 градусов Буду краток, причина оказалась в непостоянстве частоты GPU (больше), и CPU(меньше). Используя MSI Afterburner, HWiNFO64, и RivaTuner экспериментальным путем я выяснил что пропуски кадров происходят из за достижения powerlimit в gpu и pl4 limit в cpu. Лимиты есть и всегда б...

[Из песочницы] Устранение рекурсии в Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Removing a recursion in Python, part 1" автора Эрика Липперта (Eric Lippert). На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изуч...

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

[Из песочницы] Блиц-проверка алгоритмов машинного обучения: скорми свой набор данных библиотеке scikit-learn Глобальная паутина изо дня в день пополняется статьями о самых популярных, наиболее употребляемых алгоритмах машинного обучения для решения различных задач. Причём основа этих статей, немного изменённая по форме в том или ином месте, кочует от одного исследователя данных к...

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

Адам Бэк: у стейблкоинов есть шансы на успех, но биткоин они не заменят CEO Blockstream Адам Бэк заявил, что Libra от Facebook не имеет ничего общего с криптовалютами, а стейблкоины и цифровые валюты центробанков проигрывают биткоину. Об этом создатель алгоритма Hashcash рассказал Cointelegraph. «Блокчейн больше об общедоступности, нецензур...

Пиксельные отступы в текстурной развертке Представляем четвертую статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни». В предыдущей статье мы упомянули о проверке тексту...

Не забудьте повысить шанс ответа клиенту, используя повторный запрос в L7 балансировке Используя nginx для балансировки HTTP трафика на уровне L7 есть возможность направить запрос клиента на следующий сервер приложений, если целевой не возвращает положительный ответ. Проба механизма пассивной проверки состояния работоспособности сервера приложений показало нео...

Частые проблемы тех, кто выиграл гостендер Итак, вы решили заработать на госконтракте. Регистрируетесь на сайте Госуслуг, потом — в Единой информационной системе в сфере закупок, аккредитовываетесь на электронных площадках, открываете спецсчёт в банке и уже предчувствуете победу в торгах на электронной площадке, боль...

[Перевод] Почему системные администраторы должны становиться DevOps-инженерами Для обучения в жизни нет лучшего времени, чем сегодня. На дворе 2019 год, и тема DevOps сейчас актуальна, как никогда. Говорят, что дни системных администраторов прошли, как миновала эпоха мейнфреймов. Но так ли это на самом деле? Как это часто бывает в IT, ситуация изменил...

MWC 2019: Energizer Power Max P18K Pop с аккумулятором на 18 000 мАч на живых фото Мы уже несколько раз рассказывали о смартфонах компании Energizer – устройствах для тех, кто превыше всего ценит автономность. Цифры 18 000 мАч поражали уже тогда, но сейчас, когда появились фото смартфона с выставки, кажется, что это просто чья-то шутка. Если определение «...

[Из песочницы] Quorum blockchain: интеграция в Java код Здраствуй, Хабр! Для тех кто интересуется темой блокчейна давно не секрет, что помимо публичных блокчейнов, таких как Ethereum, Bitcoin, Zcash и т.д., существуют также их "enterprise (private)" "братья", которые в кое чем лучше чем публичные сети, а в кое чем проигрывают им....

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

Продвижение дилерских центров в поиске. SEO для «чужого каталога» Йо-йо! Уже несколько лет я занимаюсь продвижением различных сайтов. В пуле моих клиентов есть несколько дилеров дорогой моторной техники. Все они продают одну и ту же технику, одного и того же производителя, только в разных городах. Кроме того, что они продают одно и тоже,...

Праймер для улучшения адгезии фотополимера к платформе (пятничное) Добрый день, коллеги!Как известно проблема адгезии фотополимера к столу (платформе) при печати на LCD/DLP/SLA принтерах очень неоднозначная... У одних - липнет, у других - нет.Специалисты, перешедшие из FDM всегда переживают, что "фотополимерщики" не используют ни АБС-сок, н...

Entity Framework 6 with Full-Text Search via LINQ Хочу поделиться своим костылем в решении довольно банальной проблемы: как подружить полнотекстовый поиск MSSQL c Entity Framework. Тема очень узкоспециальная, но как мне кажется, актуальна на сегодняшний день. Интересующихся прошу под кат. Читать дальше →

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

Аудит и тестирование писем: на что стоит обращать внимание при верстке Привет, Хабр! Код не терпит халатного отношения, будь то сложные алгоритмы обработки данных или верстка email-рассылок. Получив письмо от одного из крупных ритейлеров, наш руководитель отдела верстки заметил, что некоторые элементы располагаются неровно. Профессиональное ...

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

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

Книги по психологической самопомощи: есть ли в них хоть какой-то смысл, и, если да, какие выбрать? Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостоятельно может выглядеть привлекательно. Этим пользуются авторы и издатели, предлага...

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

10 ярких докладов TechTrain 2018: ИИ для масс, интерфейсы и многое другое Как оценивать, какие доклады на мероприятии оказались лучше? Если собираешь зрительские оценки, задача может выглядеть простой: высчитай для каждого доклада среднее, вот и всё. Но стоит ли, например, учитывать количество зрителей? Если один доклад получил высокие оценки, с...

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

[Из песочницы] Задача определения наличия ладони на сканере вен Как-то мне в руки попало тестовое задание. Академический интерес взял верх и я решил посидеть над этой задачкой. Мое решение не претендует на оптимальность и правильность. Мне просто интересно было ее решить. Читать дальше →

Смотрим китайскую микросхему novatek NT78820 Попала ко мне неисправная ТВ приставка для цифрового телевидения. В результате диагностики была выявлена микросхема, которая была неисправна и замыкала питающее её напряжение на землю. Появилась идея посмотреть как устроена микросхема внутри и как её собрали друзья китайцы...

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

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

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

Сжимаем APK, стараясь сохранить его работоспособность / PxHere / PD Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно ...

[Из песочницы] Взаимодействие с Asterisk сервером из Java-приложения Взаимодействие с сервером Asterisk из java-приложения через Asterisk Managment Interface (AMI) Если вы только начинаете исследования в этой области, то взаимодействие с данным сервером может показаться вам несколько запутанным, как когда-то показалось мне. Чтобы не искать ...

[Из песочницы] Что даёт софт для рекрутинга в деньгах Уже больше 10 лет существуют и появляются разного рода профессиональные системы для подбора персонала. Это естественно. Специализированный софт уже разработан для многих отдельных профессий. Что касается рекрутинга, все понимают какие задачи помогает решить софт, от какой ру...

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

[Перевод] Quality pipelines в мобильной разработке, часть 1: Android фото с Unsplash по запросу "pipeline" Общий подход Привет! Я начинаю серию постов о пайплайнах в разработке и не только, которые помогают удостовериться в качестве разрабатываемых мобильных приложений. Главная идея в том, чтобы осветить все подходы к мобильной разработке, а...

Как Сбербанк собирает согласие на обработку биометрии TL;DR: Сбербанк собирает согласие на сбор и обработку биометрических данных без нормального информирования своих клиентов об этом. Вступление Если говорить о биометрических данных, то пока самым интересным сектором для их применения в частном бизнесе является банкинг. Суть ...

Небольшой обзор SIMD в .NET/C# Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от "настоящих, компилируемых" языков для нативной разрабо...

Контейнеры и Windows. От Hello World до Kubernetes. Часть первая, вводная Когда я разговариваю с Linux инженерами и говорю им о проблемах Kubernetes кластера на Windows, на меня смотрят очень подозрительно. Некоторые даже не верят что это законно такое бывает. Контейнеры на Windows не так распространены и востребованы, как на Linux. Но я думаю, ...

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

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

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

Apple рассказала, что будет, если не обновить iPhone 5 до iOS 10.3.4 iPhone 5 грозит опасность, а вы и не знали В начале октября Apple неожиданно для всех выпустила iOS 9.3.6 и iOS 10.3.4. В описании обновлений говорилось, что они исправляют ошибку в работе GPS, а потому многие из тех, кто всё ещё пользуется совместимыми моделями iPhone и iPa...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

Элементарно, Watson: вы интегрируетесь с Voximplant Работа с естественными языками (NLU, NLP) – зона активной конкуренции между IT-гигантами. Равно как и развитие ИИ. Ну и, соответственно, пересечение этих множеств – тоже горячая ниша, за которой интересно наблюдать и осваивать новое. Voximplant давно подружился с гугловским...

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

[recovery mode] Особенности национального распознавания образов «Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» © Читать дальше →

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

Андрей Себрант (Яндекс): Бизнес в Эпоху Искусственного Интеллекта Сейчас все говорят о новой революции, которую несет искусственный интеллект и машинное обучение. Умные алгоритмы проникают во все сферы жизни: от поисков бозона Хиггса, до выбора фильма на вечер. Самые передовые компании уже активно внедряют эти технологии в свои продукты и ...

Отладка cети с помощью eBPF (RHEL 8 Beta) Всех с прошедшими праздниками! Нашу первую статью после праздников мы решили посвятить линуксу, то есть под наш замечательный курс «Администратор Linux», который у нас входит в когорту самых динамичных курсов, то есть с наиболее актуальным материалами и практиками. Ну и, со...

Искусственный интеллект научился находить болезнь Альцгеймера в мозге за 6 лет до диагноза ПЭТ-скан мозга человека с тяжелой формой болезни Альцгеймера Используя снимки обычного сканирования мозга, исследователи смогли научить алгоритм определять раннюю стадию развития болезни Альцгеймера – за 6 лет до того, как такое же заключение дает традиционный медицинский ...

Хабрарейтинг 2018: лучшие материалы за 2018 год Привет Хабр. Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находит...

[Перевод] Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции) Привет, Хабр! Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного...

JPoint 2019: бесплатная онлайн-трансляция, вечеринка и многое другое 5-6 апреля, то есть уже на этих выходных, пройдёт JPoint 2019 — международная Java-конференция для опытных Java-разработчиков. Если вы не смогли поучаствовать, вживую или онлайн, то у нас есть сюрприз: бесплатная трансляция первого зала. Точнее, первый день и первый зал + к...

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

Обновлённый список устройств Huawei. Претенденты на EMUI 10 Если верить информации, которая появляется в Weibo у аккаунта Huawei EMUI, становится понятно, что обновлять до новейшей версии EMUI 10 компания собирается в общей сложности 33 устройства. Список приличный, и это радует. Читать полную статью

Что не так с Copy-on-Write под Linux при копировании Предупреждение: суть этой статьи относится ко всем CoW файловым системам, поддерживаемыми Linux и поддерживающими reflink при копировании. В данный момент это: BTRFS, XFS и OCFS2. Прошу воздержаться от холиваров о том какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или к...

Книга «Наш код. Ремесло, профессия, искусство» Быть программистом может быть интересно и весело, но быть разработчиком программного обеспечения — это сущий ад. Компьютеры логичны, люди — нет. Увы, в современной индустрии программного обеспечения не платят за программирование. Платят за разработку программного обеспечени...

[Перевод] Обратное собеседование: какие вопросы задавать компании? Этот текст — перевод репозитория viraptor. Вы можете предложить свои вопросы на английском, в оригинальном репозитории, или на русском — в моём форке, а я постараюсь перевести их и передать автору Обратное собеседование Это список вопросов, который может быть интересен соиск...

[Перевод] (Не очень) скрытые издержки общей кодовой базы iOS и Android До недавнего времени у Dropbox была техническая стратегия использовать общий код C++ для мобильных приложений iOS и Android. Идея понятна: написать код один раз на C++ вместо его дублирования отдельно на Java и Objective C. Мы приняли эту стратегию ещё в 2013 году, когда гру...

[Перевод] Генерация подземелий и пещер для моей игры На этой неделе я начал работать над новой темой: генерацией подземелий и пещер. Я использовал разбиение пространства для генерации комнат, алгоритмы генерации лабиринтов для генерации коридоров и клеточные автоматы для придания пещерам более естествненного внешнего вида. Р...

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

Интернет для всех, даром, и пусть никто не уйдёт обиженный Добрый день, Сообщество! Меня зовут Михаил Подивилов. Я являюсь основателем общественной организации «Medium». Меня неоднократно просили написать краткое, но исчерпывающее руководство о том, каким образом можно подключиться к сети децентрализованного интернет-провайдера «M...

Плюсы и минусы IT-шной жизни в Шотландии Я уже несколько лет живу в Шотландии. На днях я опубликовал в своем Facebook-е серию статей про плюсы и минусы жизни тут. Статьи нашли большой отклик среди моих друзей, и поэтому я решил, что это может быть интересно более широкому IT-сообществу. Так что — выкладываю на хабр...

Заглянуть в черный ящик — новая система от MIT покажет, как работают алгоритмы машинного обучения В MIT представили интерактивный инструмент, который дает понять, почему интеллектуальная система принимает то или иное решение. В этом материале — о том, как он работает. Читать дальше →

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

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 1) Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас ...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

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

Первые опыты использования потокового протокола на примере связи ЦП и процессора в ПЛИС комплекса REDD В предыдущих статьях мы уже познакомились с шиной Avalon-MM, где MM означает Memory Mapped, то есть проецируемая на память. Эта шина вполне себе универсальная. К ней может быть подключено несколько ведущих (Master) и несколько ведомых (Slave) устройств. Мы уже подключали с...

Инструкция: как тестировать ansible-роли и узнавать о проблемах до продакшена Всем привет! Я работаю DevOps-инженером в сервисе бронирования отелей Ostrovok.ru. В этой статье я хочу рассказать о нашем опыте тестирования ansible-ролей. В Ostrovok.ru в качестве менеджера конфигураций мы используем ansible. Недавно мы пришли к необходимости тестирования ...

ld -z separate-code Речь в этой статье пойдёт о небольшой security-фиче, добавленной в GNU ld к релизу 2.30 в январе 2018 года. На русском языке это улучшение упоминалось на opennet с такой аннотацией: режим "-z separate-code", повышающий защищённость исполняемых файлов ценой небольшого увели...

Цена не радует: EVGA за видеокарту RTX 2060 Super будет просить 500 долларов Сегодня мы уже оценивали спецификации видеокарт GeForce RTX Super, а теперь пришла пора на них взглянуть. Дизайн референсных карт мы уже видели — отличий от текущих моделей там будет мало. Сейчас же в Сети появились изображения видеокарт Super в исполнении EVGA. С...

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

В сети Monero состоялся хардфорк с активацией PoW-алгоритма RandomX Разработчики ориентированной на повышенную приватность криптовалюты Monero в ходе состоявшейся 30 ноября видеоконференции сообщили об успешном хардфорке на блоке 1978433. Основной его особенностью стала активация нового алгоритма RandomX, сменившего прежний Proof-of-Work-алг...

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

Ломаем Micosoft Lunix на HackQuest 2019 Привет, Хабр! На HackQuest перед конференцией ZeroNight 2019 было одно занимательное задание. Я не сдал решение вовремя, но свою порцию острых ощущений получил. Я считаю, вам будет интересно узнать, что приготовили организаторы и команда r0.Crew для участников. Задание: ...

На практике в 80-90% случаев веб-приложение тормозит из-за фронтенда: интервью с Иваном Акуловым Иван Акулов — Google Developer Expert в веб-технологиях и основатель перформанс-компании PerfPerfPerf. Уже совсем скоро на HolyJS 2019 Moscow он проведет воркшоп, посвященный, как ни странно, перформансу — поиску проблем в React, дебагу медленных приложений и другим рантайм...

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

Что слышно в радиоэфире? Радиолюбители/Ham radio Привет Хабр. В первой части статьи про то что слышно в эфире было рассказано про служебные станции на длинных и коротких волны. Отдельно стоит рассказать о радиолюбительских станциях. Во-первых, это тоже интересно, во-вторых, присоединиться к этому процессу, как на прием, т...

Корпус для bluetooth колонки Попросил друг напечатать корпус блутуз колоки на литиевых аккумуляторах 18650. Как я его не просил дать детальную планировку корпуса, её мне он не предоставил. Сказал, что любит допиливать руками, дал мне коробочку с нарисованными от руки отверстиями под колонки и сказал: до...

Tоп-10: лучшие доклады HolyJS 2019 Piter Этой весной прошла HolyJS 2019 Piter — большая конференция для JavaScript-разработчиков. Вместе с программным комитетом конференции мы составили для вас список лучших докладов, посвящённых следующим темам: Алгоритмы на графах; Протокол Chrome DevTools и Puppeteer; Статичес...

Хватит спорить про функциональное программирование и ООП Пост содержит некоторое количество стёба, минздрав убедительно просит неподготовленного читателя воздержаться от прочтения. Статьи на тему «ФП лучше» или «ООП лучше» напоминают дебаты, что же лучше для обеда, вилка или ложка. Традиционно джуны начинали с ложки, но кто-то оче...

Linux Backup от Veeam на ОС «Эльбрус». Импортозамещение ['?' | '.' | '!'] Всем привет. Недавние статьи на Хабре Импортозамещение на практике. Часть 1. Варианты и Не долго музыка играла… или как ОС Эльбрус так и не стала свободной не оставили меня равнодушным. Я решил поизучать этот вопрос в ключе задачи резервного копирования. Тем более, что в э...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Новая панель управления хостингом от ISPsystem: как посмотреть Сегодня мы публично анонсировали Vepp — новую панель управления сервером и сайтом. Скоро провайдеры начнут её продавать, а пока можно попробовать бесплатно. Оцените интерфейс, создайте сайт и покопайтесь в настройках. Нам интересно ваше мнение! Читать дальше →

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

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

[Перевод] Глубокое обучение (Deep Learning): обзор Всем привет. Уже в этом месяце в ОТУС стартует новый курс — "Математика для Data Science". В преддверии старта данного курса традиционно делимся с вами переводом интересного материала. Аннотация. Глубокое обучение является передовой областью исследований машинного обучения ...

Промышленный контроллер. Система сбора данных. АСУ Доброго времени суток, Хабр! Разработка промышленного контроллера с дисплеем для сбора и анализа данных, а также для управления нагрузками, объединенными в группы. Кому интересно, что из этого получилось, прошу под кат. Читать дальше →

Число, лежащее в основе современной музыки Почему двенадцать? Если вы посмотрите на клавиатуру, то увидите, что в каждой октаве содержится 12 полутонов. В случае фортепиано это всего лишь значит, что между, например, "до" первой октавы и "до" второй октавы расположено 11 клавиш. Вместе с одним из "до" (например, до ...

Блеск и нищета переводной литературы — Лучше вообще не читать, чем такое. Часто ли вы читаете техническую литературу? Именно литературу, а не мануалы на хабре или багрепорты на гитхабе? А когда читаете, на каком языке предпочитаете это делать (если есть возможность выбирать, конечно)? Какую версию предпочтёт...

Слон в посудной лавке: 3D принтеры с огромным полем печати Со временем, все сталкиваются с необходимостью производства крупных деталей с помощью аддитивных технологий. А бытовые 3D принтеры, в своей основной массе, имеют относительно небольшой стол для печати (квадрат со стороной 180....220 мм). Маловато. А что делать, если хочется ...

Как работают поисковые системы Мы разбирали старые письма и наткнулись на статью, которую писал Илья Сегалович iseg для журнала «Мир Internet» в далёком 2002 году. В ней он сравнивает интернет и поисковые системы с чудесами света, размышляет о поисковых технологиях и вспоминает их историю. Несмотря на заг...

Microsoft выпускает обновления для Windows 7 и Windows 8.1 (KB4499178 и KB4499182) Microsoft выпустила для тестирования новые накопительные обновления для Windows 7 и Windows 8.1, релиз которых запланирован на начало июня 2019 года.Таким образом, пользователи Windows 7 могут загрузить и установить предварительную версию ежемесячного накопительного пакета о...

[Перевод] Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). ...

Как мы внедрили онбординг новых разработчиков Привет, Хабр! Меня зовут Екатерина, я тимлид команды Биллинга сервиса МойСклад. Примерно два с половиной года назад команда разработки МоегоСклада состояла из 20 человек. За это время мы выросли в три раза, только с начала 2019 года у нас появилось три новых команды. На фон...

[Перевод] Четвероногий шагающий робот меньше муравьиной головы Насколько нам известно, самый маленький шагающий робот в мире Несколько лет назад Spectrum IEEE уже писал о самом крохотном из существовавших тогда четвероногих роботов – размером всего в 20 мм, с высотой ног 5,6 мм и весом 1,5 гр. Его разработчик Райан Сен-Пьер из лаборат...

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

[Перевод] Сверхпростое логгирование в Javascript — два декоратора, и готово Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как...

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

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Есть ли жизнь под Windows 98, часть вторая — про софт Я довольно сильно затянул с продолжением. Частично из-за работы, частично из-за лени, частично из-за того, что задача несколько более объёмной оказалась. Но рассказывать про все поиски не буду, приведу только результаты. Хотя для начала надо определить, что понимать под жизн...

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

Делаем домашнюю библиотеку с Notion и Python Мне всегда было интересно, как бы получше распределить книги у себя в электронной библиотеке. В итоге пришел к такому варианту с автоматическим подсчетом количества страниц и прочими плюшками. Всех заинтересованных прошу под кат. Читать дальше →

[Из песочницы] Проблемы основных паттернов создания data-driven apps на React.JS Для создания интерфейсов React рекомендует использовать композицию и библиотеки по управлению состоянием (state management libraries) для построения иерархий компонентов. Однако при сложных паттернах композиции появляются проблемы: Нужно излишне структурировать дочерние эле...

Универсальное DRO на базе Arduino Nano — shDRO. Часть 2 И снова здравствуйте! Продолжаю описывать свою разработку shDRO. В данной части я опишу алгоритм опроса устройств и формат команд консоли. Первая часть. Читать дальше →

Осторожно: установка беты iOS 13 может удалить все данные из iCloud Drive Программа предварительного тестирования, в рамках которой Apple открывает рядовым пользователям доступ к бета-версиям своих операционных систем, существует уже несколько лет. За это время компания выпустила сотни тестовых билдов, большая часть которых хоть и не отличалась б...

[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →

[Перевод] F#9: Тип Option Если в C# есть понятие null для ссылочных типов и Nullabe для структур. Это может принять одну из следующих 2 форм (для демонстрации я использую тип int здесь, но тип может быть любой структурой). Nullable int? Читать дальше →

[Перевод] Новая цель НАСА для поисков внеземных цивилизаций: технопризнаки НАСА возобновило поиски внеземных цивилизаций. Конгресс США попросил агентство запустить этот проект заново в 2018 году. Его первым шагом к достижению этой цели стала рабочая конференция NASA Technosignatures Workshop, прошедшая в сентябре прошлого года. Если вы никогда н...

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

Топ-10 докладов конференции C++ Russia 2018: полные видеозаписи, слайды, комментарии В этой статье вас ждёт десять лучших докладов от Андрея Александреску, Дэвида Вандервурда, Джона Калба и многих других. Фичи компилятора C++, асинхронность, многопоточность, параллелизм, модель памяти, алгоритмы и STL, метапрограммирование и рефлекшен, огромное множество те...

Huawei Mate X отправился в продажу Судьба гибких смартфонов достаточно интересная и сложная, ведь далеко не каждый производитель может перейти от концепта до реально работающего аппарата. У бренда Samsung уже получилось реализовать все необходимое и Galaxy Fold уже в продаже, теперь Huawei Mate X готовится к ...

[Перевод] LoRaWAN и NB-IoT: соперники или соратники? Введение Технологии LPWA (Low-Power Wide-Area) обслуживают потребность рынка Интернета Вещей (IoT) дешевыми устройствами, которые долго держат батарею и дешевыми сетями дальнего действия и при этом поддерживать огромное количество соединений. Существует несколько вариантов д...

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

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

Технологическая выставка GITEX 2019 — как это было На прошлой неделе, с 6 по 10 октября, в Дубае (ОАЭ) проходила крупнейшая в районе Персидского залива технологическая выставка GITEX 2019. Она посвящена самым интересным достижениям в сфере роботехники, интернета вещей, биометрических, мобильных и облачных технологий, видео...

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

Что делать, если ваш смартфон не включается Даже если вы очень бережно обращаетесь с техникой, это не дает вам никаких гарантий того, что ваш смартфон может в определенный момент отказаться включаться. При этом, как говорится, «ничто не предвещало беды» и ваш телефон вдруг приказал долго жить. Если это так,...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

[Перевод] О предвзятости искусственного интеллекта tl;dr: Машинное обучение ищет закономерности в данных. Но искусственный интеллект может быть «предвзят» — то есть, находить неверные паттерны. К примеру, система обнаружения рака кожи по фотографии может обращать особое внимание на снимки, сделанные во врачебном кабинете. ...

В каких приложениях ждать неизвестный вредоносный код? Сегодня просматривал статистику Wildfire и стало интересно по каким приложениям ходит неизвестный вредоносный код (zero-day) и как часто. На картинке приведена статистика по приложениям и частоте атак через это приложение. В первом столбце имя приложения. Во втором столбце у...

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

[Из песочницы] Откуда растут ноги у Java Memory Model Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке. В многопоточной среде можно волей-неволей наблюдать и...

[Из песочницы] 10 советов для того, чтобы быть хорошим техническим лидером Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead» автора VijayDeveloper. Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технолог...

Imperva раскрыла технические подробности взлома Cloud WAF В конце августа Imperva оповестила клиентов сервиса Cloud WAF (бывш. Incapsula) об утечке конфиденциальной информации и инициировала сброс паролей учетных записей. Оказалось, что посторонние получили доступ к хешам паролей, ключам API и SSL-сертификатам. 10 октября исполнит...

Джулия в лабиринте Разбирая одну олимпиадную задачу мы отправимся по петляющим коридорам генерации лабиринтов и их прохождения, а также увидим, что на языке Julia простота реализаций алгоритмов граничит с их всевдокодом. Читать дальше →

Сборка Android-проекта в Docker-контейнере Разрабатывая проект под платформу Android, даже самый небольшой, рано или поздно приходится сталкиваться с окружением для разработки. Кроме Android SDK, необходимо чтобы была последняя версия Kotlin, Gradle, platform-tools, build-tools. И если на машине разработчика все эти ...

Apple запретила размещать видео с критикой Китая на своих сервисах Журналисты выяснили, что Apple просит создателей сериалов для своей платформы Apple TV+ не изображать Китай в плохом свете. Эта новость выглядит особенно интересно на фоне недавнего решения купертиновцев удалить из App Store приложение, помогавшее протестующим в Гонконге.

Операция “Миграция”: как происходит переезд в облако DataLine Лет 7 назад самые первые проекты переезжали в наше облако просто и незатейливо. Образы виртуальных машин загружались на FTP-сервер, или их привозили на жестких дисках. Затем через специальный импорт-сервер ВМ загружали в облако. Если для клиента не проблема выключить виртуа...

Windows: узнаём, кто где залогинен — Ой, у меня ничего не работает, помогите! — Не переживайте, сейчас всё исправим. Назовите имя компьютера… (классика жанра из звонков в техподдержку) Хорошо, если у вас есть инструмент а-ля BgInfo или ваши пользователи знают про шорткат Windows+Pause и умеют его нажимать...

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

Сравнение компараторов для синхронизации схем и данных баз данных MS SQL Server Описание общей потребности в синхронизации изменений При работе с базами данных часто приходится решать проблему синхронизации изменений. Если в компании используется всего одна промышленная среда, то в дополнение к ней требуется как минимум еще одна дополнительная среда для...

10 шагов к YAML-дзену Мы все любим Ansible, но Ansible – это YAML. Для конфигурационных файлов существует масса форматов: списки значений, пары «параметр-значение», INI-файлы, YAML, JSON, XML и множество других. Однако по нескольким причинам из всех них YAML часто считается особенно трудным. В ча...

Зоопарк AFL фазеров На Хабре уже пару раз появлялись статьи, поднимающие тему American Fuzzy Lop (AFL) (1,2). Но в данной статье речь пойдет не о классическом AFL, а о вспомогательных утилитах для него и его модификациях, которые, на наш взгляд, могут значительно улучшить качество фаззинга. Е...

[Из песочницы] Таймлапс собственными силами с облачного сервиса видеонаблюдения IPEYE Недавно появилась задача ежедневно формировать таймлапс с пары камер видеонаблюдения, подключенных к IPEYE. Если вам интересно как с этим справился человек с минимальными знаниями питона или вы хотите мне указать на мои ошибки — добро пожаловать под кат… Читать дальше &rarr...

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

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

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

На самом деле вот так будет выглядеть iPhone 11 Помните пару лет назад Тим Кук обещал, что компания начнёт ещё более строго относиться к моментам секретности касаемо своих разработок и продуктов? Возможно, в Apple в этом направлении действительно что-то поменялось. Однако сдержать все утечки по новым моделям iPhone всё ...

Восстановление данных из пустого места Привет Хабр. В новогодние каникулы появилась возможность написать об интересном случае (хотя подобных кейсов у нас в DATALABS не мало). А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…...

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

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

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

Семинар «Управление уязвимостями: стандарты, реальность, инструменты», 4 июля, Москва Всем привет! 4 июля мы проведем небольшой Vulnerability Management Day. Поговорим о том, какие стандарты и best practice существуют и как это все ложится (или нет ;)) на реальную жизнь. Мы пригласили экспертов по различным продуктам и соответственно со своим подходом к у...

Как понять, что ты действительно бросил курить Осторожно, лонгрид. TL;DR. Много курил, давно бросил. Есть интересное наблюдение на тему вредных привычек. Не встречал его в других источниках. У части людей, бросивших курить, годами сохраняется зависимость, несмотря на то, что они не употребляют сигареты. Привычка продол...

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

[Перевод] Создание вашего первого ARCore-приложения В предыдущей статье я уже объяснил, что такое ARCore и как он помогает разработчикам создавать удивительные приложения дополненной реальности без необходимости понимания математики и OpenGL. Если вы ещё не читали её, я настоятельно рекомендую это сделать, прежде чем перейти...

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

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

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