Хабрахабр:
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку: Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики ? пакеты, белые ? классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый ? это начало, а красный ? конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить. Под катом описание метода, решающего эту проблему. Читать дальше →
Несколько дней назад, не помню точной даты, компания Google представила свой новый инструмент для работы с электронной почтой ? Gmail Motion. Об этом даже писали на Хабре. Решив воспользоваться этой прекрасной фичей, я, к своему огромному сожалению, не нашел возможности включить её в своей учетной записи Gmail. Наверное, я не вошел в группу бета-тестеров. Это, конечно, расстраивает. Но не нас! Ниже я расскажу, как за бутылку один час я сделал свой Gmail Motion. Сразу видео с результатом, под катом ? технические детали. Читать дальше →
Только что вернулся с конференции ПАВТ 2011 и хотел бы познакомить уважаемое хабрасообщество с современным состоянием дел в области высокопроизводительных вычислений. Постараюсь по возможности ссылаться на первоисточники ? а именно, на статьи из журнала "Суперкомпьютеры" и материалы конференции. Зачем это все нужно Суперкомпьютеры традиционно использовались в военных и научных целях, но в последние годы в их применении произошли революционные изменения, связанные с тем, что их мощность ?доросла? до моделирования реальных процессов и предметов при доступной для бизнеса стоимости. Все, наверное, знают, что в автомобилестроении расчеты на суперкомпьютерах используются для повышения безопасности, например так получил свои 5 звезд Ford Focus. В авиапромышленности выпуск нового реактивного двигателя по традиционной технологии ? дорогостоящее удовольствие, например создание АЛ-31 для СУ-27 заняло 15 лет, потребовало создать и разрушить 50 опытных экземпляров и стоило 3,5 млрд. долларов. Двигатель для Сухой Супержет, спроектированный уже с участием суперкомпьютеров, сделали за 6 лет, 600 млн евро и было построено 8 опытных экземпляров. Нельзя не отметить и фармацевтику ? большая часть современных лекарств проектируется с помощью виртуального скрининга , который позволяет радикально снизить затраты и повысить безопасность лекарств. Дальше ? больше. Сегодня в развитых европейских странах: 47,3% высокотехнологической продукции производится с использованием имитационного моделирования фрагментов проектируемых сложных систем или изделий; 32,3% продукции производится с использованием имитационного моделирования мелкомасштабных аналогов проектируемых систем и изделий; 15% продукции производится с использованием полномасштабного имитационного моделирования проектируемых систем и изделий; и лишь 5,4% проектируемых сложных систем и изделий производится без имитационного моделирования. Суперкомпьютерные технологии в современном мире стали стратегической областью, без которой невозможно дальнейшее развитие. Мощность национальных суперкомпьютеров сейчас так же важна, как мощность электростанций или количество боеголовок. И сейчас в мире началась Читать дальше →
Я был несколько удивлён, не увидев mono в репозиториях для этого замечательного устройства. Но, поскольку оно было позарез нужно, решил всё-таки собрать. И тут же напоролся на весьма забавную особенность маэмовского SDK, которая этого сделать мне не позволила. Но обо всём по-порядку. А пока что небольшой скрин того, что получилось: Вместо нормального эмулятора устройства и тулчейна для сборки, ребята из нокии приспособили под это дело scratchbox, который, эксплуатируя qemu-user, запускает arm-ные бинарники прямо на ядре текущей ОС. И всё бы замечательно, если бы оно работало как надо. На деле же во время сборки qemu выдаёт ?unsupported syscall 242?, после чего сборка стопорится. Обычным кросскомпилером тут что-либо сделать сложно, ибо mono в лучших традициях процедуры bootstrap (поднятие самого себя за шнурки ботинок) компилит сначала свой компилер и уже с его участием дособирает всё остальное. Как с этим бороться, не особо понятно, если только компилить на девайсе, но там это займёт годы. Для N800 mono какой-то герой таки смог собрать, но работать на n900 оно отказалось, вываливаясь с SIGSEGV. Если кому-то интересно, как сия проблема была решена, или же самостоятельно пощупать моно на устройстве (можно прямо в Visual Studio писать, если что) прошу под кат. Читать дальше →
Это вольный перевод моего поста из блога моей компании ? о том, как я разгребал последствия хакерской атаки на наш сервер. Если в двух словах ? мой сервер взломали. Злоумышленник получил пароль к FTP-серверу и в течении почти 10-ти часов скачивал все, до чего дотянулись ручонки. То, как, собственно, был взломан сервер ? отдельная история. Вкратце ? хакер отправил фальшивый саппорт-тикет моему хостеру с просьбой помочь создать FTP-юзера. И хостер, в общем-то, повелся. Мало того, что создал юзера, да еще и дал ему админские права? Переписку хакера с хостером (мне удалось завладеть копией) я ? если хабровчане захотят ? выложу обязательно, это отдельная веселуха. А пока просто перечислю шаги, которые я предпринял, чтобы защитить свой сервер и ликвидировать последствия: Читать дальше →
Отписаться от этой рассылки