» Материалы за Декабрь 2014 года

 

Электронные IT-книги по свободной цене на Books.ru

Автор: admin от 31-12-2014, 12:23, посмотрело: 431

Электронные IT-книги по свободной цене на Books.ru
На сайте Books.ru проходит акция "Электронные книги по вашей цене!". Книги, в основном, IT-направления. Цитата с сайта:

Три дня, с 30 декабря по 1 января 2015 года включительно мы предлагаем около 1250 электронных книг по свободной цене. Это значит, что вы можете заплатить за книги столько, сколько считаете нужным. Мы увеличили количество книг по сравнению с предыдущими акциями, добавив около 50 новых книг.

Ссылка на сам список книг — http://www.books.ru/aktsiya-2015-4021718/

Категория: Программирование

 

Использование WPP Software Tracing в системном программировании

Автор: admin от 31-12-2014, 12:22, посмотрело: 411

Уважаемый читатель,
в своем проекте ты наверняка написал инструмент логирования и с успехом применяешь его для анализа трудно-диагностируемых багов. Но ты всегда сталкивался с ситуацией:

  • когда запись в файл — консоль драматически сказывалось на воспроизодимости бага;

  • когда мульти(процессорное/поточное) приложение часто обращается к драйверу и ты не можешь сопоставить временные метки и потоки;

  • когда баг воспроизводится на стороне кастомера, сеанс teamviewer бесполезен, да к тому же версия с отладочными символами private;

  • когда системное приложение падает до того, как система успеет скинуть логирование на диск;

  • или когда макрос для логирования выглядит в лучшем случае как
    #define TraceDbg(format, ...) 
        printf( "(p %d, t %d) - (%s,%d) %s(): " format, GetCurrentProcessId(), GetCurrentThreadId(), __FILE__, __LINE__,__FUNCTION__, __VA_ARGS__ );
    

  • когда придумываешь очередной способ вывести на экран ipaddr или UUID


В статье я представлю быстрый, надежный и универсальный для отладки с минимальным оверхедом инструмент диагностики, предлагаемой MS для системных приложений — WPP, рассмотренный частично в публикации «EventTrace for Windows. Высокоскоростная передача отладочных сообщений драйвера по сети».

Категория: Программирование, Системное администрирование, Веб-разработка, Windows

 

Fucky new year!

Автор: admin от 31-12-2014, 11:13, посмотрело: 452

Простите за мат в заголовке, это намёк на развлечение, начало которому дал язык «Брейнфак» — написать на каком-либо языке код, выполняющий что-то разумное, не используя букв и цифр. Мы уже видели JSFuck, PHPFuck, теперь я вам хочу представить Bashfuck:

__=${_##*/};____=<(:);___=${__#???};_____=$((${#___}<<${#___}))
__=${__::-${#___}}${____:$_____:${#___}}
__=$__$((${#__}|$_____))$((${#__}));___=$___${__:${#___}:${#___}};____=$($__<<<$_____|$__)
_____=${____:$((${#__}-${#___})):${#?}};___=$___$_____$_____;____=$($__<<<$____|$__|$__)
___=$___${____:$((${#?}+${#__})):${#?}};___=$___' '${____:$((${#___}+${#___})):${#?}}
___=$___${__:$((${#____}/${#___}-${#?})):${#?}};___=$___${____:$((${#____}#$_____-${#___})):${#?}}
___=$___ ${____:$((${#__}+${#?})):${#?}}${__:$((${#__}>>${#?})):${#?}}${__:${#_____}:${#?}}
___=$___${____:$((${#___}-${#?}-${#?})):${#?}};___=${___,,}
____=${____:$((${#___}+${#__}-${#?})):$((${#?}+${#?}))}
____=${____::${#?}}${__:${#_____}:${#?}}${____:${#?}};${____,,}<<<${___^}

Для запуска потребуется «Баш» четвёртой версии. Ничего вредоносного скрипт не делает смело запускайте из-под «рута», просто выведет надпись «Happy new year». Исходник надо скопировать в файл и запустить.
Как оно работает?

Категория: Программирование

 

Облачные IDE для веб-программистов

Автор: admin от 31-12-2014, 11:03, посмотрело: 798

Облачные IDE для веб-программистов

Здравствуйте, уважаемые коллеги и друзья! Меня зовут Евгений, в начале данной статьи я расскажу Вам о 4-ех облачных IDE для веб-разработчиков, а потом о новой online среде разработки, цель которой объединить возможности самых мощных IDE (например: webstorm), простой дизайн Sublime Text и новые решения.

Категория: Программирование » Веб-разработка

 

Наследуем тип .NET от JavaScript объекта с перегрузками и приватными методами

Автор: admin от 31-12-2014, 04:06, посмотрело: 372

Да, именно так и никаких уловок. Эта идея мою голову посетила около двух месяцев назад в процессе обдумывания статьи об Алгоритмах и решениях. Типы .NET в том движке использовать легко, а можно ли наоборот…
Как это?

Категория: Программирование

 

Программная регулируемая люстра на Arduino

Автор: admin от 31-12-2014, 04:06, посмотрело: 1818

Давно гуляла в голове идея света, плавно регулируемого, еще и дистанционно.


В то время светодиоды были непопулярны, дороги, а на лампах накаливания делать не хотелось, ибо напряжение и потребление.
И вот настал день…

Недавно закончил альфа-версию интеллектуальной люстры, какая только может получиться, если сисадмин берет в руки паяльник и С++.

Прежде чем немного поделюсь технологией, расскажу, что она умеет, и чего мне не удалось добиться.

— При включении, люстра включается на максимум (как не удивительно), т.е. ее можно использовать как обыкновенную люстру с физической коммутацией;
— Люстра так же управляется дистанционно с пульта управления (четырехканальный для Arduino);
— Яркость света можно регулировать плавно (относительно) назад-вперед при помощи двух кнопок. При этом регулировка цикличная, т.е. если сделать ярче максимума — свет потухнет (сбросится на 0), а если сделать меньше минимума — включится на максимум (таким образом одним нажатием кнопки на пульте, люстру можно включать и выключать)
— Спустя полчаса после включения, люстра немного сбрасывает яркость. Яркий свет нужен не всегда, а этот костыль немного охладит систему. После сброса яркости, ее можно заново выставить на максимум, и опять на полчаса.
— У люстры есть неизбежный таймер отключения. По умолчанию он составляет один час. При помощи пульта (нажатия одной из кнопок) может устанавливаться на полчаса, два часа, либо обратно на час. Но это не тупой таймер, потому что:
— У люстры есть датчик движения, соответственно таймер считает время после последнего замеченного движения;
— В ночное время суток, при обнаружении движения, люстра включается на очень маленькую яркость на протяжении одной минуты. В дневное время суток это не работает, поскольку в люстре стоит датчик света. Движений нужно несколько (секунд 5), чтобы люстра не включалась, когда я переворачиваюсь в кровати;
— Фича включения люстры в ночное время суток отключается при помощи кнопки на пульте, поскольку понятие «ночное время суток» для датчика света и для человека немного различается;
— При достижении таймаута отключения — свет плавно начинает гаситься, и если в это время произойдет движение — свет вернется на свое старое значение;
— Люстра умеет индицировать свое состояние при помощи светодиодика, а то и самой люстры.

Есть желание читать дальше? Тогда вперед.

Категория: Программирование, Сделай Сам

 

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

Автор: admin от 31-12-2014, 01:53, посмотрело: 436

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~3 МБ).

Введение


До Нового 2015-го года осталось уже менее суток:

In[1]:=

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

Out[1]=

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

Мне хотелось бы поздравить всех с Наступающим Новым 2015-м годом и рассказать о том, как вы можете сделать своим близким необычный подарок в виде фотомозаики, созданной с помощью системы Mathematica 10 и языка Wolfram Language.

Идея фотомозаики в целом довольно проста: создать изображение на основе коллекции других изображений небольшого размера.

Для того, чтобы создать фотомозаику можно действовать двумя основными способами:


  • Простой способ: разбить изображение на фрагменты фиксированного размера, после чего подобрать каждому фрагменту наиболее “похожее” на него изображение из заданной коллекции и заменить этот фрагмент на него. В результате, чем меньше размер фрагмента и больше коллекция, тем качественнее будет фотомозаика.



  • Сложный способ: по сути повторяет первый способ за исключением того, что разбиение исходного изображения производится некоторым “адаптивным” алгоритмом на фрагменты различного размера.


Для упрощения рассматриваемой задачи будем создавать мозаику из квадратных миниатюр.

Категория: Программирование

 

PHP 7 получит в два раза более эффективный Hashtable

Автор: admin от 31-12-2014, 00:51, посмотрело: 426

PHP 7 получит в два раза более эффективный Hashtable
Начатый процесс переписывания ядра PHP идет семимильными шагами. Эта статья вольный пересказ поста одного из авторов кода ядра PHP о достигнутых значительных успехах в оптимизации такой структуры данных, как hashtable. Больше технических подробностей под катом.

Категория: Программирование, Веб-разработка

 

Запросы к Яндекс в прямом эфире

Автор: admin от 30-12-2014, 22:16, посмотрело: 667

Всем привет!
Некоторое время назад наткнулся на интересную штуковину: http://export.yandex.ru/last/last20x.xml — последние запросы к поисковой системе Яндекс.

Сидел, обновлял ее, наверное, час, уж очень это дело интересное, смотреть, что люди у Яндекса спрашивают :)

Вспомнил, что когда-то видел страницу, где плитками показывались запросы к google.ru, и решил сделать свою, только про яндекс, со всеми вытекающими.

Запросы к Яндекс в прямом эфире

Подробности под катом!

Категория: Программирование, Яндекс

 

Вести с форума 31C3: новые происки АНБ, компьютерное управление мозгом и Интернет туалетов

Автор: admin от 30-12-2014, 19:53, посмотрело: 1537

Вести с форума 31C3: новые происки АНБ, компьютерное управление мозгом и Интернет туалетов


27 декабря в Гамбурге открылась одна из крупнейших в мире хакерских конференций — Chaos Communications Congress (31C3). Ежегодный конгресс собирает огромное число инженеров, мейкеров, политических активистов, людей искусства и хакеров в широком смысле этого слова. На 31-й съезд приехали более 12 000 участников, которые стали свидетелями весьма интересных событий.

Категория: Информационная безопасность

 
Назад Вперед