Архив за 03 марта 2014

Компания Apple недавно допустила крупную ошибку, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.

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

X Server

В 2006 году было обнаружено, что X Server проверяет рутовые права у пользователя, но при этом разработчики в реальности забыли вызвать соответствующую функцию.

--- hw/xfree86/common/xf86Init.c
+++ hw/xfree86/common/xf86Init.c
@@ -1677,7 +1677,7 @@
   }
   if (!strcmp(argv[i], "-configure"))
   {
-    if (getuid() != 0 && geteuid == 0) {
+    if (getuid() != 0 && geteuid() == 0) {
        ErrorF("The '-configure' option can only be used by root.n");
        exit(1);
     }

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

Всем привет!
Вы замечали, что если вы стараетесь в рутинных делах использовать свободное программное обеспечение, то вы наверняка Успешный человек с хорошей “думалкой”! Вы ещё сомневаетесь? :)

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

Как внедрить продукт СПО?!

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

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

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

Ниже обращение от точно такого же русскоязычного программиста как и я, мне не в чем его поправить, поэтому я просто опубликую ссылку:
Читать полностью »

image
Здравствуй, читатель! Ты когда-нибудь занимался переводом своего офиса/школы/института/друзей на Linux? Помнишь, как долго и упорно ты доказывал, что это — путь добра и света? А помнишь первую проблему, из-за которой пришлось все вернуть назад? Дай угадаю. Первый документ созданный в LibreOffice или OpenOffice отказался корректно открываться в MS Office? Слезы, сопли и мольбы оставить Linux ни к чему не привели? Утри нос, читатель! Под катом — о том, как подружить LibreOffice 3.5 и MS Office 2010 так, чтобы все везде открывалось одинаково.

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

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

Постановка задачи

Передать сообщение собеседнику, быстро проверить доставку, гарантировать возможность чтения не ранее, чем через заданное время, причём гарантировать только саму возможность чтения, а не непосредственно чтение.
Читать полностью »

Доброго времени суток, читатели! В этом цикле статей я хочу описать опыт создания генератора для scaffolding системы Yeoman. Прежде всего, я был немного удивлён тем, что данная система и работа с ней не были описаны на хабре, разве что одно маленькое упоминание из далекого 2012 года: Yeoman.io. Как я уже написал выше, в данном цикле статей я буду рассматривать поэтапное создание yeoman-генератора для ваших проектов.
Читать полностью »

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

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

На работу этих «вечных» часов можно смотреть бесконечно

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

Здесь я представлю первое полноценное решение для комментариев с динамической таблицей на google sites.
Многие до сих пор пользуются сторонними гостевыми книгами и классическими гаджетами от google для размещения комментариев на своём google сайте. Однако, почти каждый согласиться, что ограниченное число шаблонов форм и необходимость вручную менять высоту гаджета вместе с увеличением высоты таблицы — довольно веские аргументы, чтобы всерьёз задуматься о написании своего гаджета.
Читать полностью »

Аннотация

В данной статье хочу рассказать как можно эффективно распараллелить алгоритм SSSP — поиска кратчайшего пути в графе с использованием графических ускорителей. В качестве графического ускорителя будет рассмотрена карта GTX Titan архитектуры Kepler.

Введение

В последнее время все большую роль играют графические ускорители (GPU) в не графических вычислениях. Потребность их использования обусловлена их относительно высокой производительностью и более низкой стоимостью. Как известно, на GPU хорошо решаются задачи на структурных сетках, где параллелизм так или иначе легко выделяется. Но есть задачи, которые требуют больших мощностей и используют неструктурные сетки. Примером такой задачи является Single Shortest Source Path problem (SSSP) – задача поиска кратчайших путей от заданной вершины до всех остальных во взвешенном графе. Для решения данной задачи на CPU существует, по крайней мере, два известных алгоритма: алгоритм Дейсктры и алгоритм Форда-Беллмана. Так же существуют параллельные реализации алгоритма Дейстры и Форда-Беллмана на GPU. Вот основные статьи, в которых описаны решения данной задачи:
Читать полностью »


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