Архив за 08 апреля 2014

Yo dawg, I heard you like programming. So we put a language in you language, so you can program while you programНа Хабре недавно проскочила ещё одна статья про вычисления на шаблонах C++ от HurrTheDurr. В комментариях к ней лично я увидел вызов:

> С каждым новым релизом количество способов нетривиально вывихнуть себе мозг при помощи С++ продолжает увеличиваться)
> > Особенно, если не менять подход к реализации игрового поля и продолжать пытаться все вычисления выполнять не над константами, а над типами.

А так ли сложно будет написать универсальный вычислитель на типах, более удобный для программирования, чем клеточный автомат? Как оказалось, несложно; я в 30 раз больше времени потратил на эту статью, чем на написание и отладку собственно кода вычислителя.

Чуть раньше AveNat опубликовала введение в лямбда-исчисление в двух частях, так что вдохновение пришло мгновенно. Хотелось, чтобы можно было (образно) писать так:

#include <iostream>

#include <LC/kernel.h>
#include <LC/church_numerals.h>

int main()
{
    // Представление натуральных чисел в виде лямбда-абстракций
    typedef ChurchEncode<2> Two;    // 2 = λfx.f (f x)
    typedef ChurchEncode<3> Three;  // 3 = λfx.f (f (f x))

    // * = λab.λf.a (b f)
    typedef Lambda<'a', Lambda<'b', Lambda<'f',
                Apply<Var<'a'>, Apply<Var<'b'>, Var<'f'> > >
        > > > Multiply;

    // Вычисление (* 2 3)
    typedef Eval<Apply<Apply<Multiply, Two>, Three>> Output;

    // Переход обратно от лямбда-абстракций к натуральным числам
    typedef ChurchDecode<Output> Result;

    std::cout << Result::value;
}

А на выходе получать такое:

ilammy@ferocity ~ $ gcc cpp.cpp
ilammy@ferocity ~ $ ./a.out
6

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

Под катом находится очередное прокомментированное конструктивное доказательство Тьюринг-полноты шаблонов C++ в виде compile-time интерпретатора бестипового лямбда-исчисления (плюс печеньки в виде макросов и рекурсии).Читать полностью »

image

Сегодня столкнулся с прекращением работы антивируса Microsoft Security Essentials на Windows XP. Как известно, 8 апреля 2014 года закончилась поддержка Windows XP, поэтому в Microsoft решили отключить и антивирус для этой системы. Сообщения о том, что MSE будет работать ещё год для этой системы, не оправдались — доступная в виде дистрибутива версия 4.4.304.0 работает, однако новая версия 4.5.216.0, которая автоматически устанавливается с обновлениями безопасности, выключает антивирус и предупреждает пользователя о том, что ОС устарела и от неё пора бы избавиться. Но слишком много людей пользуются этой системой и этим удобным антивирусом, поэтому я нашёл решение, которое позволяет антивирусу работать дальше.Читать полностью »

SSAO на OpenGL ES 3.0
Однажды, разглядывая очередную демку с эффектом, возник вопрос: а можно ли сделать SSAO на мобильном девайсе так, чтобы и выглядело хорошо и не тормозило?
В качестве устройства был взят Galaxy Note 3, цель — фпс не ниже 30, а качество должно быть как на картинке выше.
Читать полностью »

На проходящем сейчас в Лас-Вегасе мероприятии NAB 2014 компания AMD объявила о том, что в рамках сотрудничества с Adobe была оптимизирована производительность новых творческих инструментов и рабочих процессов, которые скоро станут доступны специалистам, использующим для работы с видео приложения Adobe Creative Cloud.

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

Когда я писал об ошибке в GnuTLS, я сказал, что это не последняя тяжелая ошибка в стеке TLS, которую мы увидим. Однако, я не ожидал, что всё будет так плачевно.

Ошибка в Heartbleed — это особенно неприятный баг. Она позволяет злоумышленнику читать до 64 Кб памяти, и исследователи в области безопасности говорят:

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

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

Как создать свою IT компанию: история Provectus IT
В рамках подготовки к уникальному событию для IT индустрии — онлайн-конференции по B2B продажам и маркетингу IT услуг и продуктов Conformato.org — мы решили взять интервью у нескольких наших докладчиков.

Сегодня у нас в гостях Геннадий Галантер — совладелец Provectus IT — человек, который почти 20 лет занимался продажами IT решений и услуг.

Сама же компания Provectus IT многих впечатляет своим ростом. 10 октября 2010 года — 22 сотрудника. В 2014 — уже 270 человек, и, как я поняла, это не предел.

На конференции доклад Геннадия будет о так называемых «Китах» — больших клиентах с миллионными контрактами: как их обнаружить, как с ними выстраивать отношения и, в конце концов, продавать.
Читать полностью »

Компания выпустила серию обновлений для своих продуктов, которые исправляют 11 уникальных уязвимостей в продуктах Microsoft Windows, Internet Explorer и Office. Все исправления закрывают уязвимости типа Remote Code Execution, два из них имеют статус Critical и еще два Important. Обновление MS14-017 закрывает известную уязвимость CVE-2014-1761 во всех поддерживаемых версиях MS Word 2003-2013. Ранее мы писали, что злоумышленники использовали эксплойт к этой уязвимости для проведения атак на пользователей MS Word 2010, которые используют небезопасную библиотеку mscomctl.dll, скомпилированную без поддержки ASLR. Пользователи Word 2013 защищены от подобных «Security Feature Bypass» уязвимостей, поскольку для этого продукта Microsoft поддерживает принудительное включение ASLR для всех загружаемых в память модулей (enforce ASLR randomization natively).

Microsoft выпустили набор обновлений, апрель 2014

В этом patch tuesday также присутствует обновление MS14-018 для всех версий браузера Internet Explorer 6-11 на всех ОС от Windows XP до Windows 8/8.1. Злоумышленники могут воспользоваться специальным образом подготовленной веб-страницей для удаленного исполнения кода в браузере (drive-by download). Обновление исправляет шесть memory-corruption уязвимостей в IE. Для применения исправлений нужна перезагрузка. Это последний patch tuesday, в рамках которого компания выпускает обновления для Windows XP и MS Office 2003.

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

Как заявляет Сбербанк:
«В рамках реализации проекта в 2014 году на русский язык будет переведено более 2 300 видеолекций»

Сбербанк и Khan Academy

Кроме коротенького заявления на сайте Сбербанка я не нашел никаких подробностей.
Зато откопал статью в Форбс и Топ-9 уроков которые набрали больше миллиона просмотров.
На просторах интернета нашелся даже русскоязычный канал, но количество просмотров там на 2 порядка меньше.

О чем же Хан говорил на TED, и какое самое просматриваемое видео с незамысловатыми рисунками «первого в мире учителя-звезды»?
Читать полностью »

Ресурс DigiTimes сообщил о том, что Apple планирует сформировать команду R&D, которая будет заниматься разработкой baseband-процессоров для использования в смартфонах iPhone, которые будут выпущены в следующем году. Производством данных процессоров займутся Samsung Electronics и Globalfoundries.

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

Компания Asus представила двухпроцессорную видеокарту R9 295X2 (R9295X2-8GD5), оснащенную 8 ГБ памяти GDDR5 и высокоэффективной гибридной системой охлаждения. Изображения 3D-карты Asus Radeon R9 295X2 появились накануне.

3D-карта Asus R9 295X2 имеет два графических процессора и гибридную систему охлаждения

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