Рубрика «баги» - 9

Юзабилити линч: ищем уязвимости интерфейса в CMS Diafan - 1

Привет. Я уверен, ты всё-таки еще не умираешь! Постараюсь, чтобы данный материал внёс свои 5 коп в фонд развития “Хабр — живи!”.

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

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

От черного прямоугольника в Яндекс.Браузере к ускорению всего Chromium - 1

Один не совсем обычный баг

Меня зовут Кирилл, я работаю в группе внутренних компонентов Яндекс.Браузера в Новосибирске. В один не совсем прекрасный день коллеги из тестирования Яндекс.Браузера воспроизвели проблему с проигрыванием видео через Flash Player. И поскольку именно наша группа отвечает за эту часть браузера (медиа, кодеки, вот это все), задача досталась мне. Баг, скажем так, не претендовал на оригинальность. Клик по кнопке Play приводил к черному прямоугольнику вместо корректного воспроизведения видео. Этот симптом я встречал и раньше, поэтому рассчитывал на достаточно быструю локализацию проблемы. Но я ошибался.
Читать полностью »

Страх и ненависть в Multipeer Connectivity - 1

Автор: Роман Ивченко, iOS developer DataArt.

Введение

Наверняка каждый, кто хоть раз занимался поиском готового решения для обмена сообщениями, файлами, стримами между iOS-устройствами без использования серверной части, слышал о фреймворке Multipeer Connectivity, выпущенном в iOS 7.

Вцелом это один из самых инновационных фреймворков, выпущенных в 7-й версии системы. Он должен был заменить слегка устаревший CoreBluetooth.

Чтобы познать всю мощь и силу Multipeer Connectivity, мы попробовали обкатать его в нашем R&D-проекте, задача которого весьма проста — шаринг презентаций и синхронизация переключения слайдов между устройствами слушателей и устройством докладчика на конференциях, в учебных аудиториях и т. д.

Краткий обзор

Для реализации нашей задачи фреймворк, на первый взгляд, очень хорошо вписывался в архитектуру приложения. Условно у нас есть всего два типа пользователей — докладчик и слушатель. Multipeer Connectivity как раз предоставляет необходимые классы для имплементации функционала каждого типа пользователя.

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

Векторизация, небольшой баг и семистильный костыль - 1Только что я нашёл решение странного бага, который преследовал меня целую неделю. Эта небольшая эпопея произвела на меня такое впечатление, что я решил поделиться ею с сообществом. Ошибка которую я обнаружил, возможно, присутствует лишь в моей прошивке и скорее всего никогда вас не затронет. Разве что вы решите делать Cordova/PhoneGap/HTML5 приложение с векторной графикой для Windows Phone 8.1 Читать полностью »

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

Баг движка Google Chrome с падением от 16 символов уже используют для создания игр - 119 сентября получила огласку информация о баге Chrome. Браузер аварийно завершается, если в адресную строку ввести последовательность из 16 символов. В Google уже знают о баге, хотя обнаруживший не получил денежное вознаграждение — это не уязвимость безопасности. Природа ошибки связана с некорректной обработкой нулевого байта. Атаку можно сравнить с похожим случаем, когда Skype после вставки 8 символов ломался полностью: клиент завершался и больше не запускался. Chrome понадобилось 16, ровно в два раза больше.

Баг работает не только в самом браузере Chrome, но и в программах, использующих его движок — это как другие браузеры и сборки Chromium, так и Steam, клиенты мессенджера Slack и так далее. Для падения браузера нужно вставить ссылку в адресную строку, но также сработает наведение указателя мыши на гиперссылку с проблемным кодом. Последний факт уже используют для создания игр, которые наказывают падением браузера.
Читать полностью »

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

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

image

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

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

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

Пару месяцев назад на edx.org закончился курс «Введение в космические технологии: Космонавтика и пилотируемые полеты (Introduction to Aerospace Engineering: Astronautics and Human Spaceflight)». Курс вел американский космонавт, на данный момент профессор MIT — Джеффри Алан Хоффман. Как следует из названия, курс довольно простой и общий, тем не менее мне он показался довольно интересным и познавательным.

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

Mars Polar Lander

Mars Polar Lander (MPL) 290 килограммовый космический аппарат, запущенный NASA 3 Января 1999 г. для изучения почвы и климата в районе южного полюса Марса. 3 Декабря 1999 г. во время посадки центр управления не смог возобновить с аппаратом связь.

$500 млн за строчку кода или стоимость ошибок ПО в космосе - 1
MPL в лаборатории NASA
Читать полностью »

Это реальная история, случившаяся с нашим сайтом во время празднования Дня Благодарения.

Сайт перестал работать внезапно, ничего не предвещало такого оборота.

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


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