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

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

[Из песочницы] Тесты на C++ без макросов и динамической памяти Многие популярные библиотеки для тестирования, например Google Test, Catch2, Boost.Test тяжело завязаны на использование макросов, так что в качестве примера тестов на этих библиотеках вы обычно увидите картину вроде такой: namespace { // Tests the default c'tor. TEST(MyStr...

[Из песочницы] Применение X-Macro в модерновом C++ коде Современные тренды разработки на C++ предполагают максимально возможный отказ от макросов в коде. Но иногда без макросов, причем в особо уродливом их проявлении, не обойтись, так как без них еще хуже. Об этом и рассказ. Как известно, первым этапом компиляции C и C++ являетс...

Тесты на Си без SMS и регистрации Недавно zerocost написал интересную статью «Тесты на C++ без макросов и динамической памяти», в которой рассматривается минималистический фреймворк для тестирования Си++ кода. Автору (почти) удалось избежать использования макросов для регистрации тестов, однако вместо них в ...

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

Defined or Undefined? Нюансы создания массивов в JavaScript Пару месяцев назад я наткнулся на интересный вопрос на stackoverflow, там, если вкратце, человек хотел создать пустую матрицу 5х5, и, используя один способ у него получилось, а используя другой — нет. В развернувшейся дискуссии на этот счёт были приведены интересные мысли. ...

[Перевод] Приключения неуловимой малвари, часть IV: DDE и поля документа Word Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: скрытные VBA-скрипты Приключения неуловимой малвари, часть III: запутанные VBA-скрипты для смеха и прибыли ...

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

Расширение макроса assert() для реализации минимальной обработки ошибок – Сир, я придумал защиту от дракона. Он нам больше не страшен! Она срабатывает от взмахов крыльев дракона и включает громкую сирену, так чтобы все слышали, что приближается дракон. – Что-нибудь ещё эта защита делает? – Нет, зачем? Мы будем предупреждены! – Да… Съедены под во...

К вопросу о модулях Недавно случайно зашел на сайт фирмы «Амперка» (в стиле «мы пошли искать запчасти для экскаватора и, естественно, оказались на порно сайте») и вспомнил, как я однажды осуществлял нелицеприятный разбор их модуля индикации. Решил посмотреть, как с данным модулем обстоят дела в...

[Из песочницы] Установка sdl2 на основные дистрибутивы Здравствуй, Хабр. Недавно наткнулся на новый цикл статей по sdl2, но без процедуры установки. Вроде ничего сложного, но если интересно, то давайте вместе пройдемся по граблям, которые могут нас ожидать. Я проведу установку для xcode10 на macOS 10.14.5, code::blocks на Ubuntu...

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

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

Миграция на Zimbra без рисков для бизнеса с помощью общего домена Ранее мы уже рассказывали о том, как можно мигрировать c IBM Notes/Domino на Zimbra. Изложенный нами вариант идеально подойдет для небольших предприятий с небольшим количеством сотрудников. Но что же делать крупным предприятиям с сотнями сотрудников, где резкий переход на но...

К вопросу о сдвигах, знаках и быстродействии МК «Найди всему причину и ты многое поймешь» Возможно, мои постоянные читатели (ну не может быть, чтобы их не было) помнят, что я как то в своем посте недоумевал по поводу того, что при описании регистров внешних устройств используется атрибут unsigned. В комментариях было пред...

Сервер, ты меня слышишь? BROP-атака на примере задания NeoQUEST-2019 Как найти уязвимость на сервере, не имея информации о нём? Чем BROP отличается от ROP? Можно ли скачать исполняемый файл с сервера через переполнение буфера? Добро пожаловать под кат, разберём ответы на эти вопросы на примере прохождения задания NeoQUEST-2019! Читать дальш...

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

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

[Из песочницы] Актуальны ли пиратские FM радиостанции в наши дни? Когда я учился еще в школе, классе в 7, у меня появился дешевый китайский FM радиоприемник. На нем был дисплей и всего 2 кнопки, перемотать на станцию вперед и сбросить на начальную частоту 88 МГц. Я радовался, ходил и постоянно слушал музыку с радио. MP3 плееры тогда толь...

Функция Shortcuts появится в MacOS 10.15 Пользователи MacOS смогут создавать макросы действий для Siri

Sharkoon представила игровую клавиатуру SKILLER SGK5 В SKILLER SKK5 поддерживается одновременное нажатие клавиш, позволяющее одновременно нажимать многочисленные клавиши. SGK5 включает в себя съемную подставку для запястий, она крепится с помощью магнита. Sharkoon оснастила SKILLER SGK5 специальными клавишами для светов...

Обзор 14 headless cms 2019 Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и...

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

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

[Перевод] Как опубликовать консольную утилиту на PyPI за 1 минуту Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 201...

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

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

[Из песочницы] Реконструкция Midi из видео роликов Synthesia (и ей подобным) Как то раз сидя в ютубе ведя поиск интересных обучающих мелодий наткнулся на ролики с Synthesia, часть из которых мне очень понравилась, решил скачаю да и поучусь… =) Но увы как оказалось ролики есть, а вот midi файлы никто не горел желанием выкладывать =( Засев за гугл реши...

Динамическая генерация DAG в Airflow Всем привет! Меня зовут Антон, в Ростелекоме я занимаюсь разработкой центрального хранилища данных. Наше хранилище состоит из модулей, в качестве оркестратора которых используются несколько инстансов Informatica, часть из которых мы хотим перевести на Airflow в рамках перехо...

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

Очередной обход авторизации в публичных Wi-Fi сетях На эту тему уже было несколько статей — Как обойти SMS-идентификацию при подключении к публичным Wi-Fi сетям? и И еще раз: не пользуйтесь публичным WiFi, но появляются новые методы авторизации, поэтому пришло время поговорить об этом еще раз. Недавно в московском кафе я натк...

Программирование LibreOffice Base. Часть 3 Сегодня мы рассмотрим использование диалоговых окон при редактировании данных в LibreOffice Base (OpenOffice Base). Как мы выяснили в предыдущих сообщениях, Форма LibreOffice Base (OpenOffice Base) — это фактически экземпляр текстового редактора LibreOffice (OpenOffice) Writ...

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

[Из песочницы] 5 наиболее распространенных проблем работодателей при подборе IT-специалистов с точки зрения рекрутера-аутсорсера Эта статья написана по материалам моего выступления на HR Meetup #5, проходившего 5 октября 2018 года в г. Ростове-на-Дону. О себе Меня зовут Игорь Шелудько. Я – предприниматель в сфере разработки и продаж программного обеспечения с 2000 года. У меня высшее техническое о...

Реализация пользовательского интерфейса OpenStack LBaaS При реализации пользовательского интерфейса балансировщика нагрузки для виртуального приватного облака мне пришлось столкнуться с существенными трудностями. Это привело меня к размышлениям о роли фронтенда, чем хочу поделиться в первую очередь. А далее обосновать свои разм...

Как работает PageRank: реализация на языке R через линейную алгебру и power-метод Привет, хабровчане! Меня зовут Алексей. На этот раз я вещаю с рабочего места в ИТАР-ТАСС. В данном небольшом тексте я познакомлю вас с методом расчета PageRank © (далее буду называть его ПР) на простых, понятных примерах, на языке R. Алгоритм является интеллектуальным дос...

Что интересного я извлёк из книги «Theory of Fun for Game Design» от Рафа Костера В этой статье я тезисно перечислю наиболее интересные для меня выводы и чеклисты, которые я нашёл в книге Рафа Костера «Theory of Fun for Game Design». Читать дальше →

SamsPcbGuide, часть 11: Технологии, корпуса BGA-типа и космос В обсуждениях к предыдущей статье proton17 написал, что в космос обычные BGA не летают, дав ссылки на корпуса CCGA-типа как образец надёжности. Я решил разобраться в этом вопросе и нашёл много интересной информации (во многом благодаря вот этому ↓ человеку). Читать дальше ...

Как решить старую задачу с помощью ML на Python и .Net Бывает, что некоторые задачи преследуют тебя много лет. Для меня такой задачей стала склейка предложений текстов, в которых жестко забит переход на новую строку, а часто еще и перенос слов. На практике, это извлеченный из PDF или с помощью OCR текст. Часто можно было встрет...

TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...

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

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

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

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

Хабра-детектив на выходных Вы ведь знаете, что такое дежавю? То самое "это уже где-то было", только не про последний вышедший в кинотеатре фильм, а про то, что происходит именно с вами. К примеру, не казалось ли вам, что вы уже видели какую-либо статью на Хабре раньше? В большинстве случаев, в этом н...

Играем в Тетрис на электромеханическом экране Однажды, просматривая объявления на Avito, я наткнулся на очень любопытную вещь — блинкерное табло или flip-dot display по-английски. Такие табло используются для отображения информации в аэропортах, вокзалах, стадионах или маршрутоуказателях на общественном транспорте. Я ...

Corsair iCUE доступна для MacOS Corsair выпустила версию iCUE для macOS с поддержкой RGB-клавиатур, мышей, гарнитур и других аксессуаров. Интерфейс iCUE связывает все периферийные устройства Corsair в одном приложении, предоставляя вам доступ к настройкам каждого из них. Можно выбрать разные эффекты освеще...

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

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

RESTinio — это асинхронный HTTP-сервер. Асинхронный Пару лет назад мы опубликовали RESTinio — свой небольшой OpenSource C++фреймворк для встраивания HTTP-сервера в C++ приложения. Мегапопулярным за это время RESTinio не стал, но и не потерялся. Кто-то выбирает его за "родную" поддержку Windows, кто-то за какие-то отдельные фи...

[Перевод] Lock-in: правда или вымысел? Я много лет обсуждал с клиентами технологии и их поставщиков, и многие употребляют термин "lock-in", означающий барьер для смены поставщика или привязку к поставщику. Вопросы звучали так: "Не станем ли зависимы от поставщика из-за этого продукта?" или "Решение X для нас пре...

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

This content is not available in your country: новости, которые вы не сможете узнать из России Один из самых простых способов заблокировать ту или иную информацию (читай — тот или иной ресурс) — это запрет доступа к нему по географическому признаку. Сама блокировка может быть связана с самыми разными причинами — если это медиасервис, то чаще всего это вопросы с ли...

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

[Перевод] Хитрости реализации переходов между экранами в Legend of Zelda Для эффекта вертикального скроллинга в первой части «The Legend of Zelda» используются манипуляции графическим «железом» NES, скорее всего не предусмотренные разработчиками консоли. У меня нет доступа к официальной документации Picture Processing Unit (PPU — графический чи...

[Перевод] Реализация остальных возможностей PEG После того, как я собрал все части генератора PEG-парсеров воедино в предыдущем посте, я готов показать как реализовать и некоторые другие интересные штуки. Содержание серии статей о PEG-парсере в Python PEG парсеры Реализация PEG парсера Генерация PEG парсера Визуализация р...

[Перевод] Выпуск Rust 1.38.0: конвейерная компиляция, #[deprecated] для макросов и std::any::type_name Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.38.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1...

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

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

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

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

Star Wars: Рыцари старой Республики Ave! Дело в том, что я довольно долгое время провела в больнице, и во время лечения начала играть в Star Wars: Knights of the Old Republic на планшете, чтобы хоть как-то отвлечься. Немного позже наткнулась на статью с несколькими идеями Криса Авеллона о сюжете 3-й части (п...

[Перевод] Эффекты фильтров SVG: контурный текст при помощи feMorphology Во второй части серии об SVG-фильтрах Sara Soueidan знакомит нас с фильтром feMorphology и приводит несколько примеров его использования для создания интересных эффектов. Читать дальше →

[Перевод] Чего мне никогда не говорили о CSS Фото Джантин Дурнбос на Unsplash Это ни в коем случае не критика коллег, а всего лишь краткий список важных вещей, которые я самостоятельно узнала о CSS в последнее время. Не секрет, что многие разработчики, похоже, не думают о CSS. Это легко заметить по обсуждениям в инт...

Миграция на инфраструктуру async-await в Rust img source На прошлой неделе для Rust комьюнити случилось огромное событие — вышла версия компилятора 1.39, а в месте с ней и стабилизация async-await фичи. В этом посте я постараюсь резюмировать все релевантные изменения в компиляторе и экосистеме, а также предоставить инс...

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

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

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2 Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveD...

[Перевод] В двух словах о привилегиях Linux (capabilities) Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понима...

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

Доступна для загрузки Windows 10 Buiild 19008 Состоялся релиз Windows 10 Build 19008. Данная сборка может лишь похвастаться исправлением багов, а именно:• было исправлено зависание системы при перезагрузке и завершении работы;• исправлено уведомление Windows Update;• исправлена сворачиваемость приложения «Параметры»;• С...

Доступна для загрузки Windows 10 Build 19008 Состоялся релиз Windows 10 Build 19008. Данная сборка может лишь похвастаться исправлением багов, а именно:• было исправлено зависание системы при перезагрузке и завершении работы;• исправлено уведомление Windows Update;• исправлена сворачиваемость приложения «Параметры»;• С...

[Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант) В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию ...

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

Как я пришел к формальной спецификации RISC-V процессора на F# Томными зимними вечерами, когда солнце лениво пробегало сквозь пелену дней — я нашел в себе силы заняться реализацией давней мечты: разобраться как же устроены процессоры. Эта мечта привела меня к написанию формально спецификации RISC-V процессора. Проект на Github Читать д...

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

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

Отображение текста в Android Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в раб...

[Из песочницы] Автоматический кошачий туалет Может ли «умный дом» дом считаться «умным» если любимые кошки ходят в лоток с наполнителем? Конечно, мы многое прощаем своим любимцам! Но, согласитесь, что каждый день, по нескольку раз, подметать наполнитель вокруг лотка и определять по запаху, что его пора сменить — неско...

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

[Перевод] О [[trivial_abi]] в Clang-е Наконец-то я написал пост про [[trivial_abi]]! Это новая фирменная фича в транке Clang-а, новая по состоянию на февраль 2018. Это вендорское расширение языка C++, это не стандартный C++, она не поддерживается транком GCC, и нет активных предложений WG21 включить её в станда...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

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

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

Приложения для электронных книг на операционной системе Android (часть 3) В этой (третьей) части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены следующие две группы приложений: 1. Альтернативные словари 2. Заметки, дневники, планировщики Краткое содержание предыдущих двух частей статьи: В 1-ой част...

Ограничение Messages API VK — что делать Как все начиналось... 2 февраля я наткнулся на интересную статью: закрытие api для сообщений. Первая моя мысль была: «блин, как теперь взламывать людей-то а?». Но потом я призадумался: наверное мой бот на лонгполе перестанет работать, и вообще, не круто это… Но 15-го феврал...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

Подборка: 5 неочевидных инструментов конкурентного анализа, о которых вы могли не знать Конкурентный анализ – крайне интересная тема, однако большинство статей на эту тему грешат минимальным погружением в вопрос. Из текста в текст нам рассказывают о том, как полезны бывают инструменты, вроде SimilarWeb, платный доступ к которому стоит как Боинг, Alexa, котора...

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

[Из песочницы] О реализации известного жанра на платформе Minecraft Целью данной статьи является помощь начинающим игровым проектам с нестандартной тематикой избежать базовых ошибок в реализации. Данная статья рассказывает о личном опыте ведения игрового стартапа в рамках Minecraft. Как всё начиналось Мои интересы во многом не совпадали с и...

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

В Египте найден текст древнейшей песни о любви Гробница находится на территории некрополя фараонов и знати в Абусире в окрестностях древнего Мемфиса на левом берегу Нила на рубеже Верхнего и Нижнего Египта. Как сообщает ТАСС, нашедший текст археолог Бржетислав Вахала прочитал текст и перевел его на чешский язык. В песне,...

Sennheiser Day 2019 в Москве собрал более 250 любителей качественного звука Sennheiser провела конференцию-презентацию для партнёров, журналистов и просто любителей качественного звука. Мероприятие состоялось 9 сентября в пространстве SAP. В рамках события было анонсировано уже для России множество продуктов, которые ранее могли видеть те, кто пос...

Ложные срабатывания в PVS-Studio: как глубока кроличья нора Наша команда оказывает быструю и эффективную поддержку клиентов. В поддержке принимают участие только программисты, так как вопросы нам тоже задают программисты и над многими из них приходится подумать. Хочется описать одно из недавних обращений в поддержку на тему ложного с...

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

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

Тестирование дешевых виртуальных серверов У многих хостеров есть в продаже дешевые виртуальные серверы, к тому же в последнее время стали в большом количестве появляться рекламные тарифы с различными ограничениями (например, возможностью заказа одного такого виртуального сервера для одного аккаунта), цена на которые...

Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока В предыдущей статье про модельно ориентированное проектирование было показано, что не все методики одинаково полезны. И объясняется как делать правильно, что бы не было потом мучительно больно. Но в конце статье был поставлен вопрос, провокационный как Шарон Стоун на допросе...

ESET: новые схемы доставки бэкдора кибергруппы OceanLotus В посте расскажем, как кибергруппа OceanLotus (APT32 и APT-C-00) недавно использовала один из общедоступных эксплойтов к CVE-2017-11882, уязвимости повреждения памяти в Microsoft Office, и как вредоносное ПО группы обеспечивает персистентность в скомпрометированных системах,...

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

GitHub полностью удалил репозиторий утилиты для обхода блокировок 10 апреля 2019 года GitHub без объявления войны удалил репозиторий популярной утилиты GoodByeDPI, предназначенной для обхода государственных блокировок (цензуры) сайтов в Интернете. Что такое DPI, как связан с блокировками и зачем с ним бороться (по версии автора): Прова...

Cura 3.6 Печать через USB на Smoothie Недавно понадобилось напечатать через компьютер модельку, но как оказалась новая Cura 3.6 не видит Smoothie (плата MKS base 1.4) хотя в в 3.5.1 было все нормально. К сожалению, мне не удалось найти  тут решение проблемы, но на официальном сайте наткнулся на этот костыль...

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

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

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

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

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

Получение информации и обход двухфакторной аутентификации по картам банка из ТОП-10 (Украина) В прошлом году украинский банк из ТОП-10 пригласил меня протестировать свои системы интернет- и мобильного банкинга на предмет уязвимостей. Первым делом я решил начать с отслеживания запросов мобильного приложения. С помощью Fiddler (Burp или Charles) я начал рассматривать...

Как вычисляют сумасшедших — 2: блеск и нищета патопсихологической диагностики Привет, Хабр! Меня зовут Кристина, я клинический психолог. Около двух лет назад я опубликовала на Geektimes пост о патопсихологической диагностике, в котором рассказала о том, как производится исследование психики пациентов в психиатрическом стационаре на предмет наличия и...

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Глава Минкомсвязи назвал "перекручиванием гаек" законопроект об ограничении иностранного владения "значимыми сайтами" Как отметил Константин Носков, он сам пока не видел текст внесенного в Госдуму законопроекта, но категорически не поддерживает то, что сообщили о нем СМИ. Ранее новости об этом документе привели к падению акций "Яндекса".

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

Как Алиса узнаёт страны по фотографиям. Исследование Яндекса Привет! Меня зовут Евгений Кашин, и я работаю в лаборатории машинного интеллекта Яндекса. Недавно мы запустили игру, в которой пользователи соревнуются с Алисой в угадывании стран по фотографиям. Как действуют люди — понятно: они узнают места, которые видели в путешествиях...

Топ-5 скрытых функций Chrome для Android, о которых вы не знали Google Chrome – даже мобильный – полон огромного количества незаявленных функций. Речь, конечно же, идет о так называемых флагах, которые скрыты от рядового пользователя и, по сути, представляют собой экспериментальные нововведения, чья реализация все еще находится под вопр...

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

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

Удалось обнаружить десятки корпоративных хранилищ Box.com, раскрывающих данные компаний Apple, Herbalife и т.д Исследователи из Adversis обнаружили десятки корпоративных аккаунтов на сервисе облачного хранения файлов Box.com, которые содержали свободно доступную чувствительную корпоративную информацию и персональные данные клиентов. Всего было найдено более 90 компаний, у которых на...

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

[Перевод] Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 2 Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1 Но что еще хуже… Я попытался разработать проект для своих студентов, и получалось забавно, но проблема заключалась в том, что нельзя было посмотреть «убиваемые» адреса, так как эт...

Организация многопользовательского доступа на сервер GIT При установке и конфигурировании Git-сервера встаёт вопрос об организации доступа нескольких пользователей к нескольким проектам. Я провёл исследование вопроса и нашёл решение, удовлетворяющее всем моим требованиям: простое, безопасное, надёжное. Мои пожелания таковы: ка...

К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...

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

Защищаем резервные копии iPhone Сегодня я хочу рассказать об малоизвестных особенностях iOS, связанных с защитой резервных копий, обходом этой защиты (рекурсия) и защитой от обхода защиты (двойная рекурсия). Вишенкой на торте будет короткая инструкция, позволяющая обойти защиту от обхода защиты резервных к...

Концепция очков дополненной реальности. Моя идеальная AR гарнитура, которая возможна Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Недавно мне пришла в голову идея интересная концепция AR очков, которые могут быть нужны пользователю. Многие недооценивают некоторые аспекты с точки зрения удобства использования и пользовательс...

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

Как на самом деле надо сравнивать цены Apple в США и РФ. Личный опыт Сначала хотел написать комментарий к неоднозначным сравнениям цены на продукцию Apple в статье, но текста получилось слишком уж много. Pochtoycom (на самом деле не только они) лукавят, сравнивая цены Apple в РФ и в США. Действительно, в США возможно купить iPhone дешевле,...

[Из песочницы] Обход дерева в несколько потоков Всем привет, хочу поделиться с общественностью некоторым объемом информации, который как мне показалось трудно найти в интернете. Что такое дерево, смотрим Википедию. Рис.1 Пример дерева. Читать дальше →

Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...

Решения проблемы спам-ботов, добавляемых в телеграм-группы Привет. Я автор нескольких популярных ботов для администрирования телеграм групп: @daysandbox, @watchdog_robot и других. Каждый день в группе поддержки и в личных сообщениях я вижу один и тот же вопрос: как мне защититься от спам-ботов, добавляемых в группу. Обычно ещё уточн...

[Из песочницы] Структуры данных с примерами на языке Swift. Часть первая: связаный список Предисловие Кто из iOS разработчиков не мечтал о работе в престижном месте вроде Yandex или Avito. К сожалению, про мечты на собеседованиях спрашивает только hr, а вот интервьюеры из числа разработчиков задают вопросы немного другого характера. Чем отличается reference type ...

Обзор Corsair M55 RGB PRO. Симметричная игровая мышка с макросами и подсветкой В середине лета компания Corsair пополнила линейку игровых мышек симметричной M55 RGB PRO. По заявлению производителя, поддерживаются ладонный, пальцевой и когтевой хваты. Используется оптический сенсор PMW3327 с высокой разрешающей способностью и переключатели с высоким рес...

5 причин для перехода к 3D-печати металлических изделий Если вы занимаетесь проектированием или изготовлением металлических деталей, то вы уже знаете о некоторых возможностях 3D-печати металлом. Возможно, вы даже уже думали об использовании аддитивных технологий для реализации проекта. Так что вас останавливает? Может быть, вы пы...

Терраформируй это: обзор Terragenesis В App Store/Google Play можно найти самые разные игры, поэтому я не сильно удивился, когда в одном из профильных чатов меня спросили, знаю ли я игру о терраформировании небесных тел. Посмотрев ее, решил написать небольшой обзор, потому что игра, на мой взгляд, хоть и не без ...

Кармическое проклятье Хабра Непредвиденные последствия «Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум Тема про карму на «Пикабу» Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал б...

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

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

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

Использование REST в ENM Ericsson на Python Здравствуйте. Не так давно Ericsson выпустил новую систему управления Ericsson Network Manager (ENM), которая уже успела появится у некоторых операторов сотовой связи. Было бы интересно разобрать некоторые вопросы по работе с ней и, в этой статье, коснёмся вопроса работы с н...

[Перевод] Расшифровка трассировщика лучей размером с открытку «Он снова это сделал!», — вот, что первое пришло мне в голову, когда я посмотрел на оборотную сторону флаера Pixar [1], полностью заполненную кодом. Скопление конструкций и выражений была подписана в правом нижнем углу не кем иным, как Эндрю Кенслером. Для тех, кто его не з...

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы ра...

[Из песочницы] Установка MacOS High Sierra, когда под рукой только WiFi Итак, у меня случилась ситуация, которая заставила меня попотеть, так как подробной инструкции не нашёл нигде. Сам себе создал проблем. Уехал заграницу, с одной сумкой, из техники был только телефон) Думал куплю ноут на месте, чтоб не таскаться. В итоге купил первый свой, н...

Security Week 05: принтеры, камеры, 7zip и вопросы этики В конце ноября 2018 года офисные и домашние принтеры по всему миру распечатали сообщение, призывающее подписываться на ютубера PewDiePie. Произошло, это, естественно, без ведома владельцев принтеров, и скорее всего сам PewDiePie тут ни при чем. Взломщик, называющий себя TheH...

Самогонный аппарат — полный автомат. Часть 2. Сепаратор. Холодильник. Куб. Алгоритмы Прошло 4 года с тех пор, как я опубликовал статью «Концепт: самогонный аппарат — полный автомат». 4 года, Карл! Идея не была заброшена. Мало того, она — как заноза в мозгу не давала покоя. И за 4 года было кое-что сделано. Методом проб и ошибок я постепенно вышел на реализац...

[Из песочницы] Быстрый Яндекс словарь Наверное все знают что у Яндекс есть замечательный бесплатный сервис Яндекс.Словарь где можно посмотреть перевод нужного вам слова, но для лично меня он не удобен тем что постоянно нужно было переключаться на Chrome, вручную вводить текст или вставлять из буфера обмена, даже...

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

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

Mosquito hotend Просматривая новинки принтеростоения наткнулся на интересный, на мой взгляд хотэнд: The Mosquito Hotend от SliceEngineeringhttps://www.sliceengineering.com/shop/the-mosquito-hotend  Подробнее...

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

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

Книга (бытия?). Размышления о природе разума. Часть I • Что такое разум, сознание. • Чем отличается познание от осознания? • Сознание, самосознание — одно и то же? • Мысль — что такое мысль? • Творчество, воображение — что-то загадочное, присущее человеку, или… • Как устроен разум. • Мотивация, целеполагание — зачем ...

Работа с API КОМПАС-3D → Урок 14 → Многострочный текст На предыдущем уроке мы рассмотрели, как выводить многострочный текст с помощью параграфа. Описанный способ требует ручного обхода массива выводимых строк. На данном уроке мы рассмотрим альтернативный способ, лишенный этого недостатка. В его основе лежит интерфейс ksTextParam...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 51. Устранение неполадок EIGRP Сегодня мы рассмотрим, как устранять неполадки реализации протокола EIGRP. Для этого вам нужно загрузить лабораторную работу на эту тему по ссылке www.nwking.org/product/resources-day-51-eigrp-troubleshooting, которая приведена под данным видео, а затем мы вместе займемся её...

Виталий Милонов стал главным героем клипа о запрете рэпа Клип с депутатом был опубликован в YouTube на канале CHAIN YourLife. В последнее время в России остро стоит вопрос о запрете концертов музыкантов, в частности рэперов. В прошлом году были отменены выступления исполнителей Монеточка, Хаски, Элджей и прочих. Причиной запрета ...

Игровая мышь Logitech MX518 Компания Logitech возродила игровую мышь MX518 сохранив стандартный дизайн, в то же время предоставив ей внутренности 2019 года, созданные для современных геймеров. Единственными внешними изменениями являются обновленные материалы с новой отделкой. Внутри это другая исто...

[Перевод] Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии. — Эдсгер Вибе Дейкстра Возможно, это только мои ощущения, но объектно-ориентированное программирование кажется стандартной, самой распространённой парадигмой ...

Another Way — LFS, Multi User и текущий прогресс инди Action/RPG Всем привет! Прошло немногим больше месяца и по традиции я спешу поделиться прогрессом нашей авантюры, серии под названием “Через тернии к игре мечты”. Хочу напомнить, что же тут происходит. Мы разрабатываем игру Another way — Нелинейная Action/RPG от третьего лица с элеме...

MIRO — открытая платформа indoor-робота. Часть 5 — Программная составляющая: ARDUINO (AVR), лезем «под капот» В этот раз заглянем чуть глубже в реализацию некоторых ключевых методов библиотеки для ARDUINO (AVR), отвечающих за перемещение робота MIRO. Эта часть будет интересна всем, кто задавался вопросом о том, как управлять линейной и угловой скоростью робота на ARDUINO, оснащенн...

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было Привет! Я Юля, DevRel в Tinkoff.ru. 28 сентября Tinkoff вместе со Scala-сообществом России провели масштабную, но очень уютную встречу разработчиков, тестировщиков и всех неравнодушных к Scala. В статье я поделюсь впечатлениями, как все прошло. Сначала — пара слов о том, д...

Продвижение мобильного приложения на реальном опыте в цифрах Ниже пойдет речь о моем интересном опыте в продвижении мобильной игры. 1. Введение Меня никогда не отпускали мысли о том, что все вокруг говорят о большой доходности iOS приложений по сравнению с Android (думаю, каждый из вас об этом слышал), поэтому я не устоял от таких ...

Троян Adwind взял на мушку приложения Windows Исследователи из Menlo Security обнаружили новую версию RAT-трояна Adwind, нацеленную исключительно на ПК Windows. Троян Adwind, он же AlienSpy, Frutas, Unrecom, JRAT, SockRat и JSocket, целиком написан на Java и обычно используется для кражи информации с зараженных машин. Д...

Сравнение BI систем (Tableau, Power BI, Oracle, Qlik) Привет, Хабр! В прошлом году я проводил небольшой конкурс на выбор BI для нашего проекта. Я руковожу направлением BI и аналитики Питерской клинике «Скандинавия». Никакого BI до этого в нашей клинике не было и одна из моих задач была в его создании. Я попросил представителей...

Обход блокировок РКН используя DNSTap и BGP Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены. В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Реви...

[Из песочницы] Комплексный подход к визуализации событий безопасности и измерению её эффективности Привет, Хабр! Представляем вашему вниманию перевод статьи "A Full-Scale Security Visualization Effectiveness Measurement and Presentation Approach". От автора перевода Визуализация оказывает неоценимую помощь экспертам в получении выводов и знаний об объекте исследований,...

Про отзывы по моим услугам Про меня пишут очень много отрицательных отзывов. При этом 80% этих отзывов я даже не знаю кто пишет. Я не  видел в глаза этих людей. Много отрицательных отзывов пишут, те кто просто меня ненавидит.   Но сегодня я приведу всего 2 конфликтных ситуации и вы их оцените. &n...

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

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

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

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

[Из песочницы] Бэкэнд в однофайловых компонентах VueJS Однажды, читая документацию по Vue Loader, наткнулся на интересное нововведение в 15 версии. Речь идет о кастомных блоках, которые можно внедрить в однофайловые компоненты Vue. В примере показано, как можно получить доступ к содержанию этого блока непосредственно в компонент...

В Счетной палате оценили стоимость перехода на цифровое вещание в России "В целом переход российского телевидения на цифру достиг целевых показателей: 98,4% граждан могут бесплатно принимать в цифре 20 ТВ-каналов свободного доступа. Всего на реализацию программы из различных источников было направлено 167,5 млрд рублей, в том числе 97,1 ...

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

Ханнес Линдеманн против Алена Бомбара – развенчание мифа? Ален Бомбар, французский врач, который на надувном плоте совершил переход из Европы в Америку, упоминался в предыдущей истории. Трагедия на гряде Этель, где при испытаниях надувного плота, в которых участвовал Бомбар, унесла жизни девяти человек. Сам он остался жив. Причины ...

[Перевод] Интернет вещей… которые плачут по хорошему UI/UX Египетские иероглифы или обозначения кнопок на стиралке? Я думаю, что, чисто теоретически, мы бы уже могли подключить большинство существующих ныне устройств к интернету, этим и порожден растущий интерес к Интернету Вещей (IoT). Получим ли мы от этого большую пользу — уже ...

[Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А...

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

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

Компания Google призналась, что с 2005 года хранила некоторые пароли в виде простого текста Facebook — не единственная крупная технологическая компания, которая хранит пароли в виде простого текста. Компания Google сегодня сообщила, что из-за ошибки в реализации функции восстановления пароля некоторые из паролей корпоративных пользователей G Suite хранил...

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

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

JetBrains Night Moscow: как это было В апреле мы провели JetBrains Night Moscow — получилась отличная встреча с друзьями: интересные темы, много живого общения и, конечно, выступления спикеров JetBrains. К нам пришло более 700 гостей. Спасибо каждому за то, что вы сделали вечер таким классным! Читать дальше ...

Клавиатура HyperX Alloy Origins с переключателями Red HyperX выпустила новую игровую клавиатуру HyperX Ally Origins. Отличительной особенностью являются собственные клавишные переключатели компании, известные как HyperX Red, срок службы которых составляет 80 миллионов нажатий. Как и в случае с рядом новых клавиатур, он поставля...

[Перевод] Черновик FAQ: Почему стандарты С++ выходят каждые три года? У WG21 есть строгий график (см. P1000) выпуска стандарта каждые три года. И никаких задержек. В течение каждого цикла мы регулярно получаем вопросы «ну почему так строго?», особенно от новых участников комитета, которые не знакомы с его историей и причинами текущего положе...

MPS 2019.2: перечисляемые типы данных, настройка сообщений об ошибках, переход на JDK 11 и многое другое В MPS 2019.2 мы подготовили для вас много новых функций в различных подсистемах и исправили ряд ошибок. Скачать MPS 2019.2 Перечисляемые типы данных Новый способ объявления перечисляемых типов данных позволяет определить список вариантов в компактной форме, указав для к...

Личный опыт. Как мы подключали международную телефонию: сравнение 6 виртуальных АТС Не так давно я столкнулся с необходимостью выбора виртуальной АТС. В бизнесе моей компании произошли кое-какие изменения: появились новые услуги, в том числе направленные не только на сегмент b2b, но и на b2c. А с появлением частных клиентов оказалось и что многие люди по-...

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

[Перевод - recovery mode ] Revocation сертификатов — не работает Прямо сейчас в интернете наличествует некая проблема, и, насколько я могу судить, с течением времени она лишь становится серьёзнее: всё большее и большее число сайтов получают сертификаты (что необходимо для запуска HTTPS), но у нас нет способа защитить себя, если «что-то п...

Даже web ресурсы известных организаций не защищены от детских ошибок Disclaimer. Все события происходили в 2017 году. Обо всех указанных в статье уязвимостях было сообщено представителям компаний в кратчайшие сроки с момента их обнаружения. Некоторые ресурсы, на 2019 год, были полностью обновлены (frontend и backend). Статья носит сугубо инфо...

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

Документный червь. Эксплуатируем необычную XSS и обходим CSP на примере CodiMD Для подписчиковЕсть такой сервис для совместного редактирования текста — HackMD. Штука сама по себе полезная, но нас сегодня интересует ее реализация для установки на свой сервер — CodiMD. В ней нашли баг, позволяющий сделать код, который будет передаваться от пользователя к...

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

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

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

К чему привела миграция с ClickHouse без авторизации на ClickHouse с авторизацией Давайте начнем с небольшой предыстории. У нас в компании на обслуживании стоит проект, который до недавнего времени находился в стадии тестирования/разработки. На тот момент в нём использовался ClickHouse с 3 шардами по 2 реплики в каждом. Учитывая то, что инфраструктура это...

Что не так с экспериментом Microsoft про 4-х дневную неделю или не теряем голову при виде 40% эффективности Последние дней 10 по миру регулярно пишут про эксперимент по переходу на 4-х дневную рабочую неделю и эффектов в 40% от такого решения. Хабр не исключение, и аналогичный пост набрал 93 плюса и 71,4 тысячи просмотров и 338 комментариев. Т.е. результат более чем приличный. Ме...

Google хранила пароли некоторых клиентов G Suite в виде простого текста на протяжении примерно 14 лет Компания Google сообщила, что недавно она обнаружила ошибку, из-за которой пароли некоторых пользователей G Suite хранились в виде простого текста. Эта ошибка существовала с 2005 года, хотя Google утверждает, что не может найти никаких доказательств того, что чей-либо пароль...

[Из песочницы] Oracle VM Server for SPARC для чайников (How-to) Небольшой How-to для начинающих работать с ОС Solaris и платформой виртуализации Oracle VM Server for SPARC, ранее известной как Sun Logical Domains. Oracle VM представляет из себя гипервизор XEN, установленный на ОС Solaris. Управлять гипервизором возможно из командной ...

Сетевой комбайн: ASUS RT-AC88U Смартфоны заменили нам КПК и телефоны, телевизоры объединили функции простого «ящика» и видеопроигрывателя, а роутеры так и остались обособленными устройствами. На производстве такое положение дел понятно и вопросов не вызывает, а в домашней среде выглядит странно. К чему ра...

Чем живёт домашний интернет и статистика сервера доменных имён Домашний роутер (в данном случае FritzBox) умеет многое регистрировать: сколько трафика когда ходит, кто с какой скоростью подключён и т.п. Узнать, что скрывается под непонятными адресатами, мне помог сервер доменных имён (DNS) в локальной сети. В целом, DNS оказал положите...

Boost.Spirit, или Добавляем «духовности» фильтрам списков Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.A...

Google Ads упростил доступ к стандартным отчётам Google Ads облегчил пользователям доступ к стандартным отчётам для тех наборов данных, которые они просматривают. Теперь, просматривая статистику на уровне кампании или группы объявлений, рекламодатели будут видеть иконку «Отчёты» («Reports») над таблицей с данными: Ранее дл...

Julia NLP. Обрабатываем тексты Анализ и обработка текстов на естественном языке является постоянно актуальной задачей, которая решалась, решается и будет решаться всеми доступными способами. На сегодня хотелось бы поговорить о средствах решения для решения этой задачи, именно, на языке Julia. Безусловно,...

Зачем мы делаем Enterprise Service Mesh Service Mesh — известный архитектурный паттерн для интеграции микросервисов и перехода на облачную инфраструктуру. Сегодня в облачно-контейнерном мире обойтись без него довольно сложно. На рынке уже доступны несколько open-source реализаций service mesh, но их функциональнос...

По следам русского Scala-движа. Часть 2 В прошлой части расследования Роман Тимушев посоветовал связаться с Владом, что я и сделал. Влад уточнил, что меня интересует, делайны и согласился написать несколько абзацев. На следующее утро я увидел уведомление в Facebook. Это Влад нашел нового свидетеля — Александра Под...

[Из песочницы] Кризис DDD сообщества Год назад Максим Аршинов (marshinov) выступил с докладом "Быстрорастворимое проектирование". Отличный доклад, харизматичный спикер, полезные материалы в конце. Этот доклад изменил моё понимание того что я делал — кто из нас не пытался интуитивно применить pipeline-архитектур...

Самые нестрашные яды И снова привет, %username%! Спасибо всем, кто оценил мой опус «Самые страшные яды». Было очень интересно почитать комментарии, какими бы они не были, было очень интересно отвечать. Я рад, что «хит-парад» понравился. Если он не понравился — ну что ж, я сделал всё, что мо...

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

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

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

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

[Из песочницы] Модели в информационной безопасности Добрый день, Хабровчане! 1. Вместо вступления Недавно опубликованный перевод Ментальные модели ИБ заинтересовал меня не только общим посылом (в частности, применение моделей в обучении – острый для меня вопрос, ведь учёба – процесс непрерывный), но и списком ссылок на модел...

LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0 Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хоче...

Хочешь <s>похудеть</s> учиться ИТ самостоятельно? Спроси меня как Есть мнение, с которым я часто сталкиваюсь, — учиться самостоятельно невозможно, нужны профессионалы, которые будут вас вести по этому тернистому пути — объяснять, проверять, контролировать. Попробую опровергнуть это утверждение, а для этого, как известно, достаточно привест...

Обзор конференции SQA Days EU Привет, Хабр! Меня зовут Алексей, я занимаюсь обеспечением качества в FunCorp. В конце марта я ездил в Ригу на SQA Days EU. Это первая конференция из линейки SQA Days, которая проводится за пределами СНГ. Программа выглядела многообещающе, а в списке докладчиков было много...

Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры. Бонус: список бесплатных библиотек с каталогами OPDS. Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч...

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

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

Как быстро посмотреть интересные предупреждения, которые выдает анализатор PVS-Studio для C и C++ кода? Время от времени программисты, которые начинают знакомиться с анализатором кода PVS-Studio, спрашивают: «Есть ли список предупреждений, которые точно указывают на ошибки?» Такого списка нет по той причине, что неинтересные (ложные) предупреждения в одном проекте, в другом о...

В магазине GOG началась распродажа игр из России и СНГ В цифровом магазине GOG началась распродажа и получило название “Priviet Sale!” и посвящено видео играм, созданным командами разработчиков из России и стран СНГ. К началу акции в клиенте появилась версия «Дальнобойщики 2» для последних ОС Windows. Симулятор водителя обойдет...

Rekko Challenge 2019: как это было Не так давно на платформе Boosters прошел контест рекомендательных систем от онлайн-кинотеатра Okko — Rekko Challenge 2019. Для меня это был первый опыт участия в соревновании с лидербордом (ранее пробовал силы только в хакатоне). Задача интересная и знакома мне из практик...

Страх и ненависть DevSecOps У нас было 2 анализатора кода, 4 инструмента для динамического тестирования, свои поделки и 250 скриптов. Не то, чтобы это всё было нужно в текущем процессе, но раз начал внедрять DevSecOps, то надо иди до конца. Источник. Авторы персонажей: Джастин Ройланд и Дэн Хармон. ...

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

Как распознать картинки и тексты на телефоне с помощью ML Kit Два года назад Сундар Пичаи, глава Google, рассказал о том, что компания из mobile-first становится AI-first и фокусируется на машинном обучении. Год спустя вышел Machine Learning Kit — набор инструментов, с которым можно эффективно использовать ML на iOS и Android. Об ML ...

[Из песочницы] История одного небольшого проекта длиною в двенадцать лет (о BIRMA.NET впервые и начистоту из первых рук) Рождением этого проекта можно считать маленькую идею, посетившую меня где-то в конце 2007 года, которой суждено было обрести свой окончательный вид лишь 12 лет спустя (на данный момент времени – конечно же, хотя и текущая реализация, по мнению автора, весьма удовлетворительн...

RDMA внутри ЦОД в реализации от Huawei Под катом о том, какой подход предлагает Huawei при организации удаленного прямого доступа к памяти с использованием технологии AI Fabric и чем он отличается от InfiniBand и «чистого» RDMA на базе Ethernet. Читать дальше →

AMP-страницы получили ряд улучшений Разработчики проекта Google AMP опубликовали обзор новых возможностей, запущенных для страниц с ускоренной загрузкой в первом квартале 2019 года. Видео Минимизация видео. Теперь для AMP можно настроить минимизацию угла просмотра видео при прокрутке страницы. Это позволит пол...

[Перевод] Эффекты фильтрации SVG. Часть 7. Продвижение вперед Предлагаемая серия статей "Эффекты фильтрации SVG" Sara Soueidan, внештатного разработчика UI/UX интерфейса и автора многих технических статей, проживающей в Ливане, посвящена работе фильтров SVG и состоит из следующих статей: Эффекты фильтрации SVG Эффекты фильтрации SVG. ...

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

[Перевод] Почему капчи стали такими сложными Доказывать, что ты не робот, становится всё сложнее В какой-то момент прошлого года постоянные требования от Google доказать, что я человек, начали казаться всё более агрессивными. Всё чаще за простой и немного чересчур милой кнопочкой «Я не робот» начали появляться требова...

Йо-хо-хо и бутылка рому Многие из вас помнят наш прошлогодний фановый гик-проект «Сервер в облаках»: мы сделали маленький сервачок на основе Raspberry Pi и запустили его на воздушном шаре. Попутно провели конкурс на Хабре. Для победы в конкурсе нужно было угадать куда приземлится шар с сервером. П...

Айсиошечка от Цукерберга — кратко и по делу о Libra Объявленный 17 июня 2019 года проект Libra уже наделал шума в прессе и даже большой политике, но все виденные мной статьи пестрят лозунгами и предсказаниями мрачного будущего, опуская технические детали. В этой статье я кратко изложу что же Facebook собственно обещает, как р...

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

Простые рецепты хороших юнит-тестов. Лекция Яндекса Если освоить небольшой список типичных ошибок, возникающих при написании юнит-тестов, можно полюбить писать их и стать гуру в своей команде. Руководитель санкт-петербургской группы разработки Яндекс.Браузера для Android Константин Заикин kzaikin рассказывает о подобных ошибк...

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

Чиновники “забыли” обложить дорогие электромобили повышенным налогом Российская Счетная палата наткнулась на интересный факт: оказалось, что такие автомобили, как Tesla Model S, Mercedes Benz S63 АМG 4МАТIС Limousine L и Bugatti Veyron Grand Sport не попали в актуальный список Минпромторга, в котором описываются автомобили, на которые должен ...

Статический анализ IntelliJ IDEA против человеческого разума Не так давно я изучал вывод статического анализатора IntelliJ IDEA для Java-кода и наткнулся на интересный случай. Так как соответствующий фрагмент кода не является open source, я его анонимизировал и отвязал от внешних зависимостей. Будем считать, что он выглядел так: priva...

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

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

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

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

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

В Китае найдена обезглавленная в неолите девушка Ученые установили, что в момент смерти девушке было от от 13 до 18 лет. Причина смерти неизвестна, а было это примерно 13500 лет назад. Археологов удивил сам характер захоронения. Девушка оказалась обезглавлена. Неизвестно, была ли отрублена голова при жизни или это было час...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

Космический аппарат Hayabusa2, бомбардировавший астероид, возвращается домой Космический аппарат Hayabusa2 возвращается домой. Данный зонд был запущен в 2014 году с целью изучения астероида Рюгу. Однако Hayabusa2 не просто исследовал космический объект. Во-первых, небольшие роботы Rover-1A и Rover-1B, выпущенные аппаратом, совершили перв...

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

[Из песочницы] «Русский след» в скандинавской игровой саге Недавно я совершенно случайно наткнулся на финскую книгу, озаглавленную «Finnish Video Games: History and Catalog» написанную журналистом Juho Kuorikoski и изданную в 2015-м году. На 93-й странице в главе «Мобильные студии наносят ответный удар» я наткнулся на интересный уча...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

macOS Catalina лишилась поддержки 32-битных приложений Не самая хорошая новость для тех, кто часто пользуется старыми приложениями — Apple официально лишила macOS Catalina поддержки 32-битных приложений. Это означает, что нам придется распрощаться с большим количеством программ и игр, которые долгое время не получали каки...

[Перевод] Node.js: управление памятью, доступной приложениям, выполняемым в контейнерах При запуске Node.js-приложений в контейнерах Docker традиционные настройки памяти не всегда работают так, как ожидается. Материал, перевод которого мы сегодня публикуем, посвящён поиску ответа на вопрос о том, почему это так. Здесь же будут приведены практические рекомендаци...

Почему аэрофотосъёмка в Google Maps называется «Спутник» Вчера сооснователь Google Maps и нынешний президент Salesforce Брет Тейлор рассказал в твиттере очень интересную историю, которая произошла в 2005 году, вскоре после запуска картографического сервиса. Here’s a silly Google Maps origin story about how “Satellite” was almost ...

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

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

Безопасность IoT. Выпуск 1. Умные часы, фитнес-трекеры и весы В своей прошлой статье я рассказывал, как съездил на DefCamp. Сегодняшняя статья — первая часть публикации о моих исследованиях в области безопасности интернета вещей, которые легли в основу выступления на конференции. IoT быстро развивается: сейчас насчитывается более 260...

[Перевод] Собственный сервер Commento с Docker Compose Примечание: это перевод моего поста (англ.), описывающий реализацию сервера комментариев, используемую на том же сайте, где находится оригинал. TL;DR-версия: я разработал конфигурацию Commento-сервера, которая легко и просто развёртывается в полуавтоматическом режиме. Скопир...

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

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

[Перевод] Добавление Quartz в Spring Boot И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи. В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful ...

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

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

Кто кушает память нашего iPhone? Чистим яблоки Все современные устройства дивным образам подчиняются второму началу термодинамики — энтропия (в простонародье — хаос) возрастает, если к системе не прикладывать внешние усилия. За примерно 3 года использования своего iPhone я особо не прикладывал усилий к очистке памяти тел...

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

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

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

Ода любимому компаньону. Энциклопедия владельца Dell Latitude D820/D830 Большая часть идей статей у меня рождается из обсуждения различных технических и около- тем в Facebook. Вот и на этот раз в теме батарей к ноутбукам разгорелась жаркая полуночная дискуссия. Из которой я вынес, помимо понимания о том, что не все предохранители одинаково полез...

Изучаем сборку микросхемы оперативной памяти на примере Hynix GDDR3 SDRAM Для многих микросхема это черный ящик с нанесенной на нее маркировкой. Заглядываем в микросхему оперативной памяти и смотрим, что внутри. Небольшой реверс-инжиниринг в сборку. Статья для тех, кому интересна микроэлектроника и кто хочет познакомиться с ней. Читать дальше →

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

[Перевод] Анонсируем поддержку ECMAScript модулей в Node.js Node.js 13.2.0 идет с поддержкой ECMAScript модулей, известных по своему синтаксису import и export. Ранее эта функциональность была за флагом --experimental-modules, который больше не требуется. Однако, реализация все еще экспериментальная и может меняться. От переводчика: ...

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

Как быстро попробовать CQRS/ES в Laravel или пишем банк на PHP Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка....

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

[Перевод] Конференция DEFCON 19. Anonymous и мы. Часть 2 Конференция DEFCON 19. Anonymous и мы. Часть 1 Джошуа Корман: вы знаете, я не сторонник самосуда, но я не думаю, что подобный подход должен исчезнуть. Это важный вопрос. Если мы думаем, что наша отрасль дисфункциональна и не уверены, что будем услышаны, тогда давайте примен...

Как мы провели «Демодуляцию». Музей Яндекса и его друзья Праздник — это когда друзья собираются вместе и хорошо проводят время. Недавно команда Музея Яндекса организовала праздник ретрокомпьютинга «Демодуляция» — фестиваль для всех, кому интересна история техники. Гости мероприятия могли не только познакомиться с легендарными комп...

Помоги Дюку найти выход Всем привет! Для каждой конференции по Java мы придумываем игру, чтобы любой желающий мог весело провести время на нашем стенде. На конференции Joker 2018 мы предлагали участникам вывести Дюка из лабиринта, подробную статью про игру прошлого года можно прочитать тут. В этом...

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

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

Логи фронтенд-разработчика Хабра: рефакторим и рефлексируем Мне всегда было интересно, как устроен Хабр изнутри, как построен workflow, как выстроены коммуникации, какие применяются стандарты и как тут вообще пишут код. К счастью, такая возможность у меня появилась, ведь недавно я стал частью хабракоманды. На примере небольшого реф...

История о том, как PVS-Studio нашёл ошибку в библиотеке, используемой в… PVS-Studio Это небольшая история о том, как с помощью PVS-Studio удалось найти ошибку в исходном коде библиотеки, используемой в PVS-Studio. Причём не теоретическую, а фактическую — ошибка проявлялась на практике при использовании библиотеки в анализаторе. Читать дальше →

Global City Hackathon: Нижний Новгород — первый Нижний Новгород — крайне интересный город с точки зрения IT-ландшафта. Список компаний, офисы которых расположены в нашем городе, реально впечатляет: российский офис Intel, MERA, МФИ Софт, EPAM, Auriga, Five9, NetCracker, Luxoft, Цитадель… У нас в городе создаются частично с...

Самые интересные металлы Кто не слушает металл — тому бог ума не дал! — Народное творчество Привет, %username%. gjf снова на связи. Сегодня буду совсем краток, потому что через шесть часов вставать и ехать. А рассказать я сегодня хочу о металле. Но не о том, который музыка, — о том мы можем пог...

[Перевод] JavaScript: вопросы и ответы Недавно в компании SmartSpate решили собрать вопросы, касающиеся JavaScript, и на них ответить. В материале, перевод которого мы публикуем, приведены чуть больше двух десятков вопросов о JavaScript и ответов на них. Спектр затрагиваемых здесь тем достаточно широк. В частност...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 2 В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow. C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

Революция или боль? Доклад Яндекса о React Hooks Меня зовут Артём Березин, я разработчик нескольких внутренних сервисов Яндекса. Последние полгода я активно работал с React Hooks. По ходу дела возникали некоторые сложности, с которыми приходилось бороться. Теперь хочу поделиться этим опытом с вами. В докладе я разобрал Rea...

Изучая Dependency Injection Несмотря на то, что паттерну уже более десятка лет и есть немало статей (и переводов), тем не менее споров, комментариев, вопросов и разных реализаций становится все больше и больше. ПредысторияВ 2004 Мартин Фаулер написал известную статью “Inversion of Control Containers ...

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

[Перевод] Искусственный интеллект Horizon Zero Dawn Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцве...

Станок с ЧПУ из того что завалялось в гараже Собираю очередной портально–фрезерный станок с небольшим рабочем полем, по дереву, пластику, композитам. Об этом повествование приведено под катом… Читать дальше →

DIY кнопка вызова. Raspberry Pi, MajorDoMo, Freswitch и Linphonec Какое-то время назад у меня была потребность в осуществлении связи с человеком после болезни, который не мог физически пользоваться телефоном. Нужно было простое вызывное устройство, по нажатию кнопки происходил голосовой вызов. Потребность исчезла, однако, побывав сам в бол...

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0 Почему темой данной статьи выбран апгрейд дисковой подсистемыПонятно, что в первую очередь нужно, как правило: Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье Поставить дополнительный процессор(ы) или за...

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

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

Мифы и легенды системного анализа или чем занимается аналитик в банке Привет! Меня зовут Настя, я аналитик мобильного приложения Альфа-Бизнес. Иногда меня спрашивают о том, чем я занимаюсь на работе. Друзья, родные и, как это ни странно, разработчики. Каждый раз я отвечают по-разному, пытаясь привести наиболее близкие собеседнику примеры. «С...

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

Apple приступила к продажам обновлённой версии внешнего монитора LG UltraFine 4K Единственный монитор, который Apple продаёт напрямую через свой сайт, снова доступен для покупки, несмотря на все вопросы о его дальнейшей судьбе в последние несколько месяцев. Компания возобновила продажи LG UltraFine 4K Display, который создан в партнёрстве с LG. Однако эт...

Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан...

[Перевод] Почему я сворачиваю свою работу над Debian От переводчика: этот текст — перевод записи в личном блоге Михаэля Стапельберга (Michael Stapelberg) видного open source-разработчика (профиль GitHub), который внес значительный вклад в развитие Debian. Этот пост было сложно написать с эмоциональной точки зрения, но я и не...

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

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

[Перевод] Обзор: шесть способов использования резидентных прокси для решения корпоративных задач Маскирование IP-адреса может требоваться для разных задач – от доступа к заблокированному контенту до обхода антибот-систем поисковиков и других онлайн-ресурсов. Я нашел интересный пост о том, как эту технологию можно применять для решения корпоративных задач, и подготовил...

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) Понадобилось немногим более 6 лет на выпуск 300 дайджестов. Всем привет, меня зовут Леонид, и это я делаю эти статьи. Читать дальше →

Rambler Group обновляет Живой Журнал Как сообщают в компании, изменения начнут реализовываться уже в 1 квартале 2019 года и приведут к росту аудитории "Живого Журнала", позволят быстро внедрять новый функционал и ускорят дальнейшее развитие проекта.Наталия Арефьева, руководитель проекта LiveJournal: &...

Как мы учились рисовать тексты на Canvas Мы разрабатываем платформу для визуальной коллаборации. Для отображения контента мы используем Canvas: на нём рисуется всё, в том числе тексты. Готового решения для отображения текстов на Canvas один в один как в html не существует. За несколько лет работы с отрисовкой текст...

Redmi Note 8T: Смартфон Redmi Note 8 Pro получит версию на SoC Snapdragon 730G Буквально на днях вышла глобальная версия ожидаемого многими смартфона Redmi Note 8 Pro с 64-мегапиксельной камерой, доступного до этого только в Китае, а на следующей неделе ожидается его украинская премьера. Вместе с тем, еще до официальной премьеры Redmi Note 8 Pro было н...

Субъективное видение идеального языка программирования Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а прос...

Telegram. Безлимитный сетевой диск. Бесплатный Привет, Хабр. Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа. TgCloud: Виртуальная файловая система с открытым исходным г****кодом. На локальном...

BlessRNG или проверяем ГСЧ на честность В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределени...

[Перевод] Конференция BLACK HAT USA. Разбогатеть или умереть: зарабатываем в Интернете методами Black Hat. Часть 1 Ведущий: леди и джентльмены, это выступление очень забавное и очень интересное, сегодня мы собираемся поговорить о реальных вещах, которые наблюдаются в интернете. Этот разговор немного отличается от тех, к которым мы привыкли на конференциях Black Hat, потому что мы собирае...

Задачи с собеседований: найти пропущенное число в массиве Один из наиболее часто задаваемых вопросов на собеседованиях – найти пропущенное число в массиве на Java, C # или любом другом языке. Такого рода вопросы задаются не только в небольших стартапах, но и в некоторых крупнейших технических компаниях, таких как Google, Amaz...

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

Из физиков в Data Science (Из двигателей науки в офисный планктон). Третья часть Эта картинка, за авторством Артура Кузина (n01z3), достаточно точно суммирует содержание блог поста. Как следствие, дальнейшее повествование должно восприниматься скорее как пятничная история, нежели как что-то крайне полезное и техническое. Кроме того, стоит отметить, что ...

[Перевод] Делаем стильный водопад из RiME прямо в Unity или UE4 Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, зву...

Дайджест интересных материалов для мобильного разработчика #322 (11 — 17 ноября) В этом дайджесте материалы о пользовательских интерфейсах и UX, Droidcon London и XCFrameworks, реверсинге мобильной 1С, проблемах монетизации и многих других вопросах разработки, маркетинга и монетизации приложений. Читать дальше →

[Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx...

[Из песочницы] Три неочевидных примера использования шаблонизаторов в backend-е С одной стороны, предмет действительно был квадратным. C другой стороны он был круглым. Но с третьей стороны, с которой должен быть треугольник, предмет вышел кривой и косой. — Алешенька идет на совещанку? — в дверь просунулась Леночкина заинтересованная физиономия. — Алеш...

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

[Перевод] Парсим 25Tb с помощью AWK и R Как читать эту статью: прошу прощения за то, что текст получился таким длинным и хаотичным. Чтобы сэкономить ваше время, я каждую главу начинаю со вступления «Чему я научился», в котором одним-двумя предложениями излагаю суть главы. «Просто покажи решение!» Если вы хотите ...

Курс лекций по JavaScript и Node.js в КПИ Товарищи инженеры, как и было обещано в анонсе, половина лекций (а это 51) уже доступны для просмотра на ютюбе и я продолжу их записывать в 2019 году. Часть из нужно будет перезаписать, потому, что в первых лекциях не самый лучший звук и потому, что очень простые темы у мен...

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

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

[Из песочницы] Простой вариант реализации многопоточности на PHP Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов. Основным минусом для меня стало слишком больше колич...

Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8 В первой части я попробовал рассказать хобби-электронщикам, выросшим из штанишек Ардуино, как и зачем им стоит читать даташиты и прочую документацию к микроконтроллерам. Текст получился большой, поэтому я пообещал практические примеры показать в отдельной статье. Ну что же,...

Контент-маркетинг, SEO, тесты и опросы: 9 инструментов для продвижения стартапа за рубежом Всем привет! Меня зовут Марго, и я профессиональный маркетолог. В последнее время много работаю с проектами на международных рынках, и хочу делиться этим интересным опытом. Недавно я публиковала подборку инструментов для создания контента на английском языке, а сегодня р...

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

[Перевод] Новый Windows Terminal: ответы на некоторые ваши вопросы В комментариях к недавней статье вы задали много вопросов по поводу новой версии нашего Windows Terminal. Сегодня постараемся ответить на некоторые из них. Под катом приведены некоторые из наиболее часто задаваемых вопросов, которые мы слышали (и до сих пор слышим), а также...

Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) На этой неделе мы говорим про Continuous Integration, переход из веб-разработки в игры, темные темы, юнит-тесты, новый топ зарабатывающих и многомиллиардную индустрию изготовления ключей. Читать дальше →

Радиомодули для arduino JDY-40 Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможн...

Открытый вебинар «Fluent Validation как инструмент валидации данных» И снова здравствуйте! В рамках запуска курса «Разработчик C#» мы провели традиционный открытый урок, посвящённый инструменту Fluent Validation. На вебинаре рассмотрели, как избавиться от кучи if-ов на примере проверки корректности заполнения данных покупателя, изучили внут...

Google Recorder — революция в мире диктофонов Компания Google вчера представила смартфоны Pixel нового поколения. Но кроме самих аппаратов, конечно, уделила немало внимания программным продуктам. В частности, приложению Recorder. Формально это диктофон, но у него есть одна уникальная особенность. Приложение...

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

[Перевод] Н.М.Д. (Не Моё Дело) В последние несколько лет передо мной жёстко встал вопрос расстановки приоритетов. Я видела, что многие друзья и коллеги тоже страдали от этого: как понять, какую проблему решать, а какую игнорировать? Где проходит черта? Установка Если вы читаете это в поисках совета, веро...

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

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

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

Как выглядит ночная тема в Apple Music для Android Apple редко адаптирует свои программные продукты для конкурирующих платформ. iCloud, iMessage, FaceTime до сих пор остаются привилегией только владельцев фирменных устройств компании, а её единственным сервисом, который вышел для Android, стал Apple Music. Сложно сказать, н...

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

[Перевод] Реверс-инжиниринг аркадного автомата: записываем Майкла Джордана в NBA Jam Прошлым летом меня пригласили на тусовку в Саннивейле. Оказалось, что у хозяев в гараже есть аркадный автомат NBA JAM Tournament Edition на четверых игроков. Несмотря на то, что игре уже больше 25 лет (она была выпущена в 1993 году), в неё по-прежнему очень интересно играть...

[Из песочницы] Асинхронный PHP и история одного велосипеда После выхода PHP7 появилась возможность сравнительно небольшой ценой писать долгоживущие приложения. Для программистов стали доступны такие проекты, как prooph, broadway, tactician, messenger, авторы которых берут на себя решение наиболее частых проблем. Но что если сделать ...

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

22 компьютерных музея: путеводитель для путешествующих по Европе инженеров Мы составили список интересных коллекций, посвященных истории IT, доступных для посещения в разных частях континентальной Европы. Думаем, остановка в любом из них, может здорово скрасить отпуск или командировку. *** Первые индустриальные музеи появились еще во второй по...

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

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

[Из песочницы] Статический анализ «BIOS/UEFI» или как получить Dependency Graph «Я вчера закончил ковку, Я два плана залудил…» … V.S. Vysotsky song... Уже почти 3 года назад (в начале 2016) в issue проекта UEFITool на GitHub появилось пожелание пользователей: построить «Dependency Graph» для исполняемых модулей, входящих в BIOS/UEFI. Завязалось да...

Мой опыт 3D печати игрушки танка Т-72 У меня на новый год нежданно-негаданно подарочком появился дельта принтер 3D FLSUN-QQ. Теперь я пытаюсь его освоить. Что-то получается просто, что-то не получается вовсе или получается с трудом. Процесс освоения 3D печати интересен, но не все идет гладко. Вообще мое предст...

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

Вышла Android Q beta 2 с любопытной функцией Bubbles, напоминающей одну из особенностей Facebook Messenger Компания Google сегодня выпустила вторую бета-версию своей операционной системы Android Q. Одной из самых интересных особенностей, которая отсутствовала в первой версии, является функция Bubbles. Как говорит сама Google, это новый вариант многозадачности. Bubbles будет ...

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

[Перевод] История алгоритмов рандомизации «Тетриса» В 1985 году Алексей Пажитнов и Вадим Герасимов выпустили в свет Tetris. Эта увлекательная и вызывающая сильное привыкание игра требовала от игроков соединять фигуры, появлявшиеся в случайном порядке. С того времени было выпущено более 150 лицензионных версий «Тетриса». Отли...

[Из песочницы] Развёрнутый ответ на комментарий, а также немного о жизни провайдеров в РФ Сподвиг меня на этот пост вот этот вот комментарий. Привожу его здесь: kaleman сегодня в 18:53 Меня сегодня порадовал провайдер. Вместе с обновление системы блокирования сайтов, у него под бан попал почтовик mail.ru С утра дергаю техподдержку, ничего сделать не могут. Пров...

Дизайн игровых интерфейсов. Брент Фокс. О чём книга? Данная статья — это краткий обзор книги Game interface design от автора Брента Фокса. Для меня эта книга была интересна с точки зрения программиста, занимающегося разработкой игр в качестве хобби в одиночку. Здесь я опишу, насколько полезной она оказалась для меня и моего хо...

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

Техника избежания неопределённого поведения при обращении к синглтону В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specific, всё в соответствии со стандартом. Читать дальше →

Делаем свой почти Extended Floating Action Button Всем привет. Не прошло и полгода как работает мое приложение, в котором Floating Action Button меню было реализовано сторонней библиотекой. В какой-то момент захотелось сделать его более приятным и удобным. Было Стало В процессе изменения дизайна я наткнулся на избыт...

Необычные системные вызовы на Linux Что видит программист, начиная работать с языком C? Он видит fopen, printf, scanf и ещё много других функций. Видит он и всякие open и mmap — казалось бы, зачем их выделять? Но, в отличие от первой группы, эти две функции при выполнении на ядре Linux являются системными в...

Что такое Initial Exchange Offering (IEO) и чем оно отличается от ICO? В начале 2017 года, был бум ICO, в которых было обмануто очень много людей. Теперь на смену ICO пришли IEO, которые должны уменьшить количество скам проектов. Ранее я уже писал про IEO от Huobi, советую посмотреть. Что такое IEO? Первоначальное биржевое предложение, как ...

[Перевод] Упражнения в эмуляции: инструкция FMA консоли Xbox 360 Много лет назад я работал в отделе Xbox 360 компании Microsoft. Мы думали над выпуском новой консоли, и решили, что было бы здорово, если эта консоль сможет запускать игры с консоли предыдущего поколения. Эмуляция — это всегда сложно, но она оказывается ещё труднее, если т...

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

В России официально разрешили обход блокировок Telegram Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) разъяснила ситуацию с блокировкой мессенджера Telegram в России. Заместитель главы Роскомнадзор Алексей Волин сделал неожиданное заявление, в котором он отмети...

Дайджест интересных материалов для мобильного разработчика #320 (28 октября — 3 ноября) Новый дайджест и в нем чтение текста на вывесках, лучшие практики и инструменты разработки, магия автоматической сборки, приложения для цифрового детокса, иллюзии дизайна и Flutter. Читать дальше →

[Перевод] PEG парсеры Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал боль...

Делаем вездесущий Splash Screen на iOS Привет Хабр! Я расскажу о реализации анимации перехода со сплэш скрина на другие экраны приложения. Задача возникла в рамках глобального ребрендинга, который не мог обойтись без изменения заставки и внешнего вида продукта. Для многих разработчиков, участвующих в крупных...

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

Простой способ создания голосового оповещения в системе Домашней автоматизации («Умный дом») Протестировав консольный SIP клиент Linphonec, увидел в нём возможность простого и быстрого способа реализации оповещения голосом на мобильный телефон, для домашней системы автоматизации. Думаю данный способ подойдёт для многих DIY систем автоматизации своего дома, приведу ...

Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU Введение Здравствуйте, уважаемые хабровчане! Последние два года моей работы в компании Synesis были тесно связаны с процессом создания и развития Synet — открытой библиотеки для запуска предварительно обученных сверточных нейронных сетей на CPU. В процессе этой работы мне...

ML.NET: впечатления от Model Builder и не только Доброго времени суток и мое почтение, читатели Хабра! Предыстория У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный ...

Как добавить беспроводную зарядку в смартфон, потратив 100 рублей? Беспроводная зарядка доступна лишь флагманам, но это отнюдь не означает, что все остальные должны остаться за бортом. Aliexpress – это отличное средство решения любой проблемы, и в том числе всего того, что касается беспроводной зарядки. Как же наделить смартфон столь прият...

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 2/2 Привет Хабр. В первой части были рассмотрены некоторые закономерности развития такого интересного ресурса, как habrahabr. Материал получился длинный, так что продолжение здесь. В этой части мы заодно посмотрим как строить такие картинки, и наконец, завершим нашу статистику ...

[Перевод] Fortnite — это будущее, но по довольно неожиданным причинам Уже многое сказано о Fortnite, о её доходах, пользователях, бизнес-модели, истоках и многоплатформенности. Но вокруг всех этих историй слишком много ажиотажа. Самое главное то, как все эти достижения, дополненные остальной частью Epic Games, навечно сохранятся в индустрии р...

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

Переход к 3D: влияние архитектуры чипов и алгоритмов записи на срок службы SSD Хотя с момента появления первого SATA SSD прошло уже 14 лет, многие потребители и по сей день относятся к твердотельным накопителям с изрядной долей скепсиса. Главная причина недоверия — ограниченность рабочего ресурса флэш-памяти, обусловленная постепенной деградацией полу...

Дайджест интересных материалов для мобильного разработчика #308 (22 — 28 июля) Наш новый выпуск рассказывает про остроугольные вопросы мобильной разработки — про Flutter, про распознавание, про существование без сторибордов, про Server Driven UI. Ну и наконец-то мы узнаём ответ на главный вопрос жизни, Вселенной и всего такого — как устроен балансировщ...

Sony WH-1000XM3 — лучшие беспроводные наушники? Этим небольшим обзором — да что там говорить, небольшим имхо — я хочу завершить небольшой цикл, предыдущая часть которого находится здесь. На самом деле я уже всё сказал, что хотел, но уважаемый Gordon01 заставил меня съездить к старому знакомому за 900 км от дома (Кирилл,...

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

Zero Bug Policy. Нет багов — нет проблем? Кто про что, а я про баги. В прошлом году я рассказывала вам про Багодельню — мероприятие, проводимое у нас в компании для чистки бэклога багов. Событие хорошее и полезное, но решающее проблему с багами разово. Мы провели уже шесть Багоделен, но количество участников постепе...

Операторы связи проведут учения по отключению России от Интернета Как пишет РБК, в рабочую группу входят «МегаФон», «ВымпелКом» (бренд «Билайн»), МТС, «Ростелеком» и другие, возглавляет ее президент компании InfoWatch (занимается вопросами кибербезопасности) Наталья Касперская.Наталья Касперская подтвердила, что на заседании рабочей группы...

[Перевод] DataChannels на QUIC: первые шаги DataChannels, основанные на QUIC, считаются альтернативой нынешнему SCTP-транспорту. Рабочая группа WebRTC в Google уже экспериментирует с ними: Looking for feedback: QUIC based RTCQuicTransport and RTCIceTransport API's are available as origin trial in Chrome 73 for experi...

Microsoft выпускает ISO-образы Windows 10 20H1 Build 18970 и 19H2 Build 18363.327 На прошлой неделе Microsoft выпустила Windows 10 Insider Preview Build 18970 для пользователей канала Fast Ring с несколькими улучшениями. Эта сборка включала новые возможности работы с планшетами для складных ПК 2-в-1, новую опцию «Сбросить этот ПК» – Cloud Download и много...

ДА вздрогнет FAANG* или [практическое руководство] по поиску работы в США/Европе для айтишника *FAANG — акроним 5 крупнейших tech компаний (Facebook, Apple, Amazon, Netflix and Google), предоставляющих одни из самых хороших возможностей для разработчиков, которые мечтают/планируют/хотят приобщиться к волне IT-эмиграции. Причиной написания этого руководство послужила ...

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

Tic Tac Toe, часть 3: Undo/Redo с хранением команд Tic Tac Toe, часть 0: Сравнение Svelte и React Tic Tac Toe, часть 1: Svelte и Canvas 2D Tic Tac Toe, часть 2: Undo/Redo с хранением состояний Tic Tac Toe, часть 3: Undo/Redo с хранением командВ этой части рассмотрена реализация игры Tic Tac Toe с помощью паттерна Command, с ...

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

[Перевод] Что такое таблица виртуальных таблиц? Однажды в Slack я наткнулся на новый акроним для моего глоссария акронимов C++: “VTT.” Godbolt: test.o: In function `MyClass': test.cc:3: undefined reference to `VTT for MyClass' “VTT” в данном контексте означает «таблица виртуальных таблиц» (virtual table table). Это вспом...

Игровая мышь Thermaltake Level 20 RGB: программируемые клавиши, RGB-подсветка и интеграция в систему TT RGB Plus Невысокий корпус мыши и ее малый вес (всего 100 граммов) можно рассматривать и как достоинство, и как недостаток устройства — мнение зависит от размера ладони пользователя. Несомненные же плюсы — это наличие программируемых клавиш с поддержкой макросов и способность работать...

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

Чему удивился «Яндекс»: самые нелепые поисковые запросы в 2018 году Ранее в этом месяце поисковый сервис «Яндекс» опубликовал подробную статистику по самым популярным у пользователей Рунета темам в 2018 году. Многие из приведённых в том отчёте запросов оказались вполне предсказуемы, так как к событиям или личностям, с ко...

Security Week 25: уязвимость в Evernote и сотни взломанных интернет-магазинов Специалисты компании Guardio обнаружили (новость, исследование) интересную уязвимость в Evernote. Точнее, не в самом приложении для хранения заметок, а в расширении для браузера Google Chrome. Evernote Web Clipper позволяет сохранять веб-страницы, причем как целиком, так и ч...

[Перевод] Тесты или типы Привет, Хабр. На днях я искал, как сделать что-то в Idris, и наткнулся на неплохой пост, вольный перевод которого выглядит вполне уместным. Вольности и отсебятину, где необходимо, я буду обозначать ⟦вот такими закорючками в начале и в конце⟧. Когда стоит использовать тесты, ...

[Перевод] Переход Tinder на Kubernetes Прим. перев.: Сотрудники всемирно известного сервиса Tinder недавно поделились некоторыми техническими деталями миграции своей инфраструктуры на Kubernetes. Процесс занял почти два года и вылился в запуск на K8s весьма масштабной платформы, состоящей из 200 сервисов, размещё...

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

Microsoft пропатчила атакуемый RCE-баг в Internet Explorer В рамках ноябрьского «вторника патчей» в скриптовом движке Microsoft закрыта критическая уязвимость, уже используемая в атаках. Проблема, зарегистрированная как CVE-2019-1429, позволяет через порчу памяти выполнить вредоносный код и затрагивает все поддерживаемые в...

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

Вебинары Hewlett Packard Enterprise в августе-октябре 2019 года В ближайшие три месяца специалисты HPE проведут серию вебинаров по защите данных с помощью интеллектуальных систем, облачным системам хранения данных, обеспечению доступности данных, расширению возможностей сетей хранения, интернету вещей и не только. Зарегистрироваться ...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

#Мнение: Почему iPhone не требует пароль при выключении? Наши iPhone отлично защищены. Для того чтобы разблокировать экран, нам нужно ввести пароль, показать свое лицо или дать сенсору Touch ID считать наши отпечатки пальцев. Для того чтобы сбросить настройки, нужно проделать то же самое, для отключения функции «Найти iPhone...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

Боитесь внедрять CRM-систему? Возможно, ваш бизнес болен Есть ли в бизнесе место страху? Вопрос не самый простой — какой уж страх может быть у людей, которые когда-то отказались от самой идеи стабильной работы, оклада и офисной рутины, создали своё дело ради своих целей: заработать, перестать работать «на дядю», сделать мир лучше ...

Почему сотрудники крупных компаний отдают предпочтение Mac Компьютеры Apple остаются самыми предпочитаемыми в бизнес-сегменте. Такой вывод сделали специалисты исследовательской компании Jamf, исходя из результатов опроса, который был проведён среди сотрудников наиболее крупных компаний мира. Примечательно, что Maс лидирует с больши...

[Из песочницы] Топ 5 ошибок в моих ReactJS приложениях Больше 4х лет назад я влюбился в ReactJS и с тех пор все Fron End приложения разрабатываю при помощи этого замечательного инструмента. За это время я и команды, в которых мне повезло поработать, наделали кучу ошибок, многие из которых были благополучно исправлены. Множество ...

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

NVIDIA Jetson Nano: тесты и первые впечатления Привет Хабр. Относительно недавно, в этом, 2019 году, NVIDIA анонсировала одноплатный компьютер совместимого с Raspberry Pi форм-фактора, ориентированный на AI и ресурсоемкие расчеты. После его появления в продаже, стало интересно посмотреть, как это работает и что на н...

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

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

Найдены три новые звезды-«зомби» Такие объекты — звезды-«зомби» — редки, однако они были известны ученым и ранее (например, в 2017 году была обнаружена подобная звезда — LP 40−365). Три новые звезды-«зомби», описанные в недавней работе, по‑видимому, имеют много общего с LP 40−365, в том числе их относительн...

Как работать с Google Trends — полное руководство для новичков Привет, Хабр! Заметил, что многие не знают, как работать с трендами в интернете. И тем более, не знают о существовании бесплатного сервиса, решающего эту проблему- Google Trends Сервис поможет узнать, что волнует ваших клиентов сегодня, интересен ли ваш товар рынку, как...

Онлайн контест по решению задачи из теории игр Привет, Хабр! Меня зовут Миша, и я студент. На факультативе по теории игр мы решаем различные интересные задачи, и я хотел бы поделиться с вами одной из таких. Читать дальше →

9. Check Point Getting Started R80.20. Application Control & URL Filtering Добро пожаловать на 9-й урок! После небольшого перерыва на майские праздники мы продолжаем наши публикации. Сегодня мы обсудим не менее интересную тему, а именно — Application Control и URL Filtering. То, ради чего иногда Check Point и покупают. Нужно заблокировать Telegra...

Windows Server 2008 R2 – Король умер, да здравствует король Привет Хабр! 14/01/2020 приближается и эта дата знаменует окончание расширенной поддержки для Windows Server 2008 R2, и если вы все еще используете Windows Server 2008 R2, вам следует задуматься про миграцию на более актуальную платформу. Под катом находится небольшое сра...

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

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

PG12: Дюжина патчей от Postgres Professional Приятно видеть знакомые фамилии в списке Acknowledgments официального релиза PostgreSQL 12. Мы решили свести вместе попавшие в релиз новшества и некоторые багфиксы, над которыми трудились наши разработчики. 1. Поддержка JSONPath (В Release Notes это звучит как Add support f...

AMA с Хабром v.8.0. Онбординг, новости для всех, PWA Апрель — месяц субботников. Наша команда тоже провела  виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хаб...

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

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

Детализация на высоте: примеры снимков на iPhone 11 и iPhone 11 Pro с технологией Deep Fusion  На последней презентации Apple многие отметили, насколько мало инноваций получили новые iPhone. Но было очевидно, что компания в очередной раз делает акцент на камеру. И хоть ее внешний вид многим не нравится, возможности впечатляют. Так, в бета-версии iOS 13.2 появилась по...

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), от...

[Перевод] Конференция DEFCON 19. Anonymous и мы. Часть 1 Вы видите на экране фразу «Кто сражается с монстрами», а я – модератор этой презентации Пол Робертс, редактор threatpost.com, новостного портала, посвященного компьютерной безопасности. У нас большая группа выступающих, которых я представлю через пару секунд, а пока что расс...

Как мы спасали код-ревью Я ведущий Java-разработчик в Яндекс.Деньгах. Каждое рабочее утро в 2018 году меня встречали около 30 пулл-реквестов, ожидающих ревью, а у меня не хватало времени разобрать их все за день. В конце лета я ушел в отпуск, а когда вернулся, обнаружил очередь из 50 PR, назначенн...

Будущего нет Не так давно я закончил и опубликовал в интернете роман «#Даша_на_Луне» — и если вы еще его не читали, то я предлагаю, перед чтением этого текста скачать его и прочитать. Твёрдая научная фантастика, ближнее будущее, космос, геополитика и всё такое — как вы любите! (Роман...

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

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

[Перевод] Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux ) Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это ...

Численное моделирование – история одного проекта Привет, Хабр и его уважаемые читатели! В статье (ссылка) мы рассказали о нашем опыте внедрения инструментов численного моделирования в исследовательскую практику металлургической компании. Рады, что тема нашла поддержку и вызвала интерес у читателей ресурса. Сегодня мы рас...

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

Как проводить Code Review по версии Google Вопросы код-ревью меня интересуют очень давно. Много раз возникали те или иные проблемы то с качеством кода, то с климатом в коллективе. И действительно, code review — это если не единственное, то одно из самых главных мест для возникновения конфликтов в коллективе разработч...

Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...

Предварительный обзор be quiet! Dark Base 700 White Edition. В белом цвете Стоит сразу отметить, что данная модель корпуса меня заинтересовала в первую очередь своим цветом. На рынке сейчас огромное количество разнообразных корпусов, которые отличаются друг от друга своими размерами и дизайном, какими-то дополнительными функциями и особенностями, н...

О записи багов, или Найди кота Эта статья родилась из поста на внутреннем форуме нашей конторы, немножко пообсуждалась, слегка дополнилась, а потом я решил выложить её в итоговом виде тут, чтобы ссылаться было удобнее. Да, пост капитанский, это ожидаемое поведение :) я просто хочу это иметь собранным, упо...

[Из песочницы] Stackoverflow Dev Survey 2019 Всем привет! На днях стали доступны результаты Stackoverflow Dev Survey 2019. В опросе приняли участие 90К разработчиков со всего мира, что делает данные не только интересным чтивом для обсуждения с коллегами но и хорошим источником аналитики для профессионального обсуждения...

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

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

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

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

Платы с разъёмом Socket sTRX4 несовместимы со старыми процессорами Производители материнских плат начали публиковать описания своих материнских плат на базе набора логики AMD TRX40, который обеспечивает поддержку новых 7-нм процессоров Ryzen Threadripper в исполнении Socket sTRX4, не дожидаясь официального анонса новинки. Переход на новый п...

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

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

Прекрасное знание школьной программы как показатель не самого высокого интеллекта Добрый день! Сегодня достаточно часто по TV и каналам на youtube можно увидеть эксперименты по “определению уровня интеллекта” у населения. Суть их заключается в том, что взрослым людям задают вопрос из школьной программы. Обычно такие “эксперименты” набирают множество просм...

[Перевод] Продуктивность связана не с управлением временем, а с управлением вниманием Управление временем – это на самом деле не решение, а часть проблемы Автор статьи: Адам М. Грант, американский ученый-психолог и писатель; профессор Уортонской школы бизнеса; автор трёх бестселлеров Нью-Йорк Таймс, а также книги «Глубокая работа: секрет достижения максималь...

[Перевод] История Vim и руководство по его эффективному использованию Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона. Первая часть статьи отводится на знакомство с историей Vim как редакт...

У человеческих эмбрионов найдены мышцы, доставшиеся нам от предков-рептилий Ученые из Университета Говарда (США) провели подробное исследование развития человеческих эмбрионов. И нашли массу интересных новых фактов — в частности, неизвестный ранее атавизм, связанный с мышцами конечностей. Как и прочие эмбриональные атавизмы, вроде зачатка хвос...

Операционная система Haiku: портирование приложений и создание пакетов Осенью этого года, спустя 6 лет разработки, вышла первая бета-версия «R1/beta1» операционной системы Haiku. Я давно слежу за этим интересным проектом, который нацелен на воссоздание и последующее развитие существовавшей в 1994-2000 годах системы BeOS. Поэтому, как только на ...

[Из песочницы] Кастомизируем select на чистом css Как-то вечером я убивал время, читая статьи в интернете, и наткнулся на вот этот хабропост пользователя Cyapa, где расписано, как кастомизировать select на чистом css. В процессе просмотра данного решения нашел несколько весьма неудобных моментов, которые постарался исправит...

Поиски «идеального» GUI. Путь новичка Изучая первый язык я хотел видеть кнопочки, а не только текст в консоли. Я сделал на Python3+tkinter калькулятор. Это заняло 585 строк. Применив к коду магию py2app, я получил bundle размером 45MB. Мне не понравилась работать с py2app. Иногда все переставало работать, если и...

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

Изобретаем библиотеку vusb Введение После прочтения названия может возникнуть закономерный вопрос: зачем в наше время изучать программную реализацию low-speed USB, когда существует куча дешевых контроллеров с аппаратным модулем? Дело в том, что аппаратный модуль, скрывая уровень обмена логическими уро...

[Из песочницы] Год приключений с graphene-python Год приключений с graphene-python Всем привет, я python-разработчик. Последний год я работал с graphene-python + django ORM и за это время я пытался создать какой-то инструмент, чтобы сделать работу с graphene удобнее. В результате у меня получилась небольшая кодовая база g...

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

Техподдержка Миран: как все устроено Огонь, в котором вы сгораете, надо обслуживать. В.О.Пелевин, “Generation П” Привет, Хабр! Меня зовут Александр Соловьев, я руководитель технической поддержки дата-центров Миран. Скажите, вот вы пробовали писать учебники? Я — нет. Тем не менее, текст ниже — это своего рода...

[Из песочницы] OpenVPN и Active Directory (Kerberos без пользовательских сертификатов) Про OpenVPN написано много гайдов, в том числе и про авторизацию через Active Directory. Большинство из них сводится к использованию LDAP, подхода с использованием Kerberos, оформленного в полноценную статью, я не нашел. Впрочем, чего-то нового тут изобретено не будет, я лиш...

Электрички Москвы (и не только): спасибо тем, кто помогал в этом году Электричка слева — Аэроэкспресс — теперь тоже добавлена в приложение. В день расписание у нас просматривают 600 тысяч человек, поэтому каждое маленькое изменение имеет эффект большого масштаба. Я хочу немного отчитаться о том, что мы добавили в приложение электричек по п...

Монорепозитории: пожалуйста, не надо (часть 2) Всем привет! Итак, новая порция обещанного холивара про монорепозитории. В первой части мы обсуждали перевод статьи уважаемого инженера из Lyft (и ранее Twitter) о том, какие есть недостатки у монорепозиториев и почему они нивелируют почти все достоинства этого подхода. Лич...

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

Лаборатория хакера: Ч1. LibSSH auth bypass Я начинаю цикл статей, посвященных разбору задач сервиса pentesterlab. К сожалению, у меня нет Про-версии курса, поэтому я ограничен только списком свободных задач. Каждый кейс — система, содержащая уязвимость, которой необходимо воспользоваться для достижения определенной ц...

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

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

[Перевод] Зачем приложению пульта Д/У знать моё местоположение? Вот интересный шаблон недружественного поведения приложения, которого можно было бы легко избежать, если бы программисты и бизнесмены рассуждали как обычные люди. У меня есть звуковая система Pioneer/Onkyo. Это неплохая техника, которая поставляется с (не слишком дерьмовым)...

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединил в один эмулятор) Привет читателям. В прошлом году я опубликовал свой хобби-проект Красный Омега PS2 эмулятор. Идея была в адаптации управления оригинального эмулятора PCSX2 для игр на Surface Pro через Touch Screen. Оригинальный код PCSX2 эмулятора был переписан в форме модуля DLL, загружае...

Владимир Высоцкий - Стихи и тексты песен 1.0.4.1 Стихи Владимира Высоцкого в одном приложении, содержащее 838 стихов и текстов песен. Характеристика: • Очень эффективный, быстрый и с хорошей производительностью. • возможность высокоскоростного поиска • Фильтры поиска — поиск суффикса, префикса (начинается/ закан...

Алексей Савватеев: Как бороться с коррупцией при помощи математики (Нобелевская премия по экономике за 2016 год) Номинация: За проработку теории контрактов в неоклассической экономике. Неоклассическое направление подразумевает рациональность экономических агентов, широко использует теорию экономического равновесия и теорию игр. Оливер Харт и Бенгт Хольмстрём. Контракт. Что это та...

[Перевод] Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter Введение Машинное обучение уже везде и, пожалуй, почти невозможно найти софт, не использующий его прямо или косвенно. Давайте создадим небольшое приложение, способное загружать изображения на сервер для последующего распознавания с помощью ML. А после сделаем их доступными ...

Внимание! Опасный баг в реализации C++ std::map::merge в Visual Studio 2017 Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая реализация содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. Читать дальше →

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

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

[Перевод] Свободные текстовые редакторы для совместной работы Много лет меня преследовал этот зуд — попытки найти «идеальный» текстовый редактор для совместной работы. Но не просто любой текстовый редактор, который поддерживает совместную работу, о нет, моя задача — найти (ну, по крайней мере, искать) открытые текстовые редакторы с г...

React Native: делаем draggable & swipeable список Сегодня трудно кого-то удивить возможностью свайпать элементы списка в мобильных приложениях. В одном нашем react-native приложении тоже была такая функциональность, но недавно возникла необходимость расширить её возможностью перетаскивать элементы списка. А поскольку процес...

«“Сделать приложение для людей” — это не набросать на коленке»: о мобильной разработке в ЦФТ Какие проблемы возникают при увеличении мобильной команды в 10 раз? По каким причинам в одной и той же компании Android-разработчики предпочитают использовать известные библиотеки, а в iOS чаще пишут собственные решения? Каково живётся мобильным разработчикам в финтехе? В...

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

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

Apple опубликовала обучающие видео по iPadOS на YouTube Apple выпустила iPadOS 13 для пользователей iPad Pro всех поколений, нового iPad 10.2″ 7 поколения, iPad 5 и 6 поколения, iPad Air 2 и 3, iPad mini 4 и 5. В прошивке были впервые представлены такие функции, как темный режим, жесты клавиатуры, новые возможности многозадачност...

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

[Из песочницы] Создание сторис для Instagram из PHP Вступление В последнее время люди более охотно смотрят в социальных сетяx видео, нежели просматривают фотографии. Сторис в инстаграм набирает в 3-4 раза больше просмотров, чем просто выложенная фотография. Ну и конечно же, не перестаём забывать, что социальные сети это не т...

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

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

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

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

[Из песочницы] О целесообразности Selenium WebDriverWait Чем ближе я знакомлюсь с Selenium WebDriver, тем больше у меня возникает вопросов, почему тот или иной функционал выполнен так, а не иначе. В своем выступлении «Заморочки в Selenium WebDriver» Алексей Баранцев проливает свет на тонкости реализации этого инструмента автоматиз...

SamsPcbGuide, часть 12: Технологии — корпуса BGA-типа, пластик и космос II В комментариях к предыдущей публикации hhba поделился статьёй, которая сама по себе достойна отдельной публикации, настолько там красивые решения приводятся. В дополнение к её обзору я постараюсь поставить точкиу над «i» в вопросе применения пластиковых корпусов в космически...

JetBrains Open Day в Петербурге: видео Недавно мы провели в нашем новом питерском офисе Space первое большое мероприятие — JetBrains Open Day. Наталья Числер, VP по управлению персоналом: — Есть такая традиция в нашей компании — приглашать гостей в новые офисы. Мы делали это в Петербурге в 2013 году, когда пер...

«Хаябуса-2» готовится сбросить новый аппарат на астероид Рюгу JAXA Станция «Хаябуса-2» достигла цели своей миссии — астероида Рюгу — 27 июня 2018 года. За более чем год работы на орбите вокруг астероида зонд сбросил уже не один аппарат на его поверхность и, помимо прочего, дважды собрал образцы грунта. Теперь же «Хаябуса-2» должна...

[Перевод] Зашифрованные предпочтения в Андроид Добрый день. Меня зовут Дмитрий и я являюсь преподавателем базового курса «Android разработчик» в Otus. Сегодня я решил поделиться переводом статьи, которую считаю интересной и думаю, что она может быть полезной для многих читателей нашего блога. Хранить данные в SharedPr...

[Перевод] Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Уже довольно давно традиционный ответ на этот вопрос звучит так: «Применение классов позволяет пользоваться большим количеством возможностей компонентов, например — состоянием». Теперь, с п...

Крокодилы летают, но низко-низко (об экранопланах без эмоций, зато с отступлениями) Скажу сразу: ничего про «не имеющее аналогов», «бездумно разрушенное» и т.п. – не будет. Что будет: — Немного истории; — Разъяснение того, что такое эффект экрана, его свойства и последствия; — Преимущества и недостатки; — Практические реализации у нас и за рубежом, ра...

[Из песочницы] Регресс или регрессив в тестировании О себе писать не буду (кто я и чем занимаюсь). Моя статья возможно ответит на эти вопросы. Не могу терпеть эту боль и слышать как неправильно произносят некоторые определения в тестировании. Да, я — тестировщик. Хотя мои близкие меня постоянно спрашивают — «Ты точно тести...

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

Предрелизный образец Samsung Galaxy S10e на живых фото Для многих самым интересным представителем линейки Samsung Galaxy S10 является модель Galaxy S10e. Причин две: плоский экран (без edge-панелей, которые по вкусу не всем) и наиболее доступная цена (по разным данным, в пределах 749-799 евро).

Гранд Экспресс: первый частный поезд в России Привет! Вы просили меня рассказать про особенные поезда. Ближе всего было добраться до №5 по рейтингу (по нашим отзывам) — «Гранд Экспресс» Москва — Петербург. Выше него ничего в Москву не заезжает. Собственно, мы попросились в отстойник, где состав обслуживается между рей...

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

Фотоаппарат на дискетах: 8 интересных фактов о Sony Mavica MVC-FD85 (много картинок) Меня раньше всегда забавляло, что в старой фантастике люди далёкого будущего продолжают пользоваться старыми носителями информации. Космические корабли бороздят просторы далёких галактик, но на Земле и в космосе всё ещё используют дискеты или магнитные ленты. А теперь пре...

Бэкенд, машинное обучение и serverless — самое интересное с июльской конференции Хабра Конференция Хабра — история не дебютная. Раньше мы проводили довольно крупные мероприятия Тостер на 300-400 человек, а сейчас решили, что актуальными будут небольшие тематические встречи, направление которых можете задавать и вы — например, в комментариях. Первая конференция...

[Перевод] [Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3 Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цик...

Акция от RUVDS: готовь сервер летом Лето, безусловно, классное время: жара, солнце, лёгкая одежда и обувь, фрукты и приятные вечера. Для большинства сфер бизнеса лето тоже имеет прикольное преимущество: на фоне спада делового сезона и снижения спроса можно немного отдышаться кондиционированным офисным воздухом...

ІТ термины на примере процесса выращивания картошки Недавно меня спросили, чем разработка на C# отличается от разработки на C++. В результате родилась идея объяснить значение тех или иных ИТ терминов на примере процесса выращивания картошки. Читать дальше →

GandCrab 5.1 распространяется под видом плана эвакуации Новую версию шифровальщика GandCrab обнаружили специалисты сайта My Online Security в ходе анализа спам-рассылки, якобы содержащей план аварийной эвакуации из здания. По мнению исследователей, злоумышленники используют скомпрометированные DNS-серверы, чтобы скрыть реальный а...

[Перевод] Приключения неуловимой малвари, часть III: запутанные VBA-cкрипты для смеха и прибыли Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: Скрытные VBA-скрипты Приключения неуловимой малвари, часть III: запутанные VBA-скрипты для смеха и при...

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

Межпозвоночная грыжа? Работай над ней Внимание! Данная статья не призывает к самолечению! Не является рекламной. Люди уникальны, единой схемы для всех нет. Статья будет иметь более мотивационный окрас, нежели россыпь медицинских терминов. Тем не менее, я считаю ей место быть, как реальной истории перехода от о...

Возможна интеграция Apple Music с устройствами Google Home Apple Music скоро может быть доступна в качестве опции на устройствах Google Home, в соответствии с изображением, которым поделился читатель издания MacRumors Джейсон. Нам удалось отследить список Apple Music в приложении Google Home для устройств iOS, но в настоящее время о...

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