Как стать автором
Обновить
-1
0.2
Александр @SONce

Пользователь

Отправить сообщение

Неделя удивительных подарков. Отличные ресурсы с нужной лицензией

Время на прочтение3 мин
Количество просмотров13K
Привет, хочу сказать, что мне очень нравится делать подборки для хабры. Много положительных отзывов, много комментариев, а значит моя работа полезная и я ее делаю не зря. Поэтому сегодня я хочу представить вам собрание различных ресурсов, на которых любой дизайнер сможет найти много полезного и интересного. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 142: ↑131 и ↓11+120
Комментарии23

Контроль температуры воды в газ. колонке

Время на прочтение5 мин
Количество просмотров160K
Я очень люблю проводить время в ванной, даже очень люблю.
Ничего нет лучше взять пивка, жареных пельмешек, айпадик и быдлокодить лежа в горячей водичке.

Но эту идилию нарушает ужасное существо, и зовут его «Газовая колонка».

Читать дальше →
Всего голосов 147: ↑136 и ↓11+125
Комментарии134

Формирование высокоуровневых признаков с помощью широкомасштабного эксперимента по обучению без учителя

Время на прочтение5 мин
Количество просмотров25K
В статье Распознавание лиц человеческим мозгом: 19 фактов, о которых должны знать исследователи компьютерного зрения упоминался экспериментальный факт: в мозге примата имеются нейроны, селективно реагирующие на изображение морды лица (человека, обезьяны и т.п.), причем средняя задержка составляет около 120 мс. Из чего в комментарии я сделал дилетантский вывод о том, что зрительный образ обрабатывается прямым распространением сигнала, и количество слоёв нейронной сети — около 12.

Предлагаю новое экспериментальное подтверждение этого факта, опубликованное concretely нашим любимым Andrew Ng.
Читать дальше →
Всего голосов 68: ↑64 и ↓4+60
Комментарии68

Делаем приватный монитор из старого LCD монитора

Время на прочтение2 мин
Количество просмотров974K


Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.

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

Читать дальше →
Всего голосов 1486: ↑1468 и ↓18+1450
Комментарии327

Загрузка страницы с помощью Ajax как ВКонтакте

Время на прочтение3 мин
Количество просмотров76K
Не так давно я задался вопросом, как же можно сделать так, чтобы страницы загружались с помощью ajax скрипта, как вконтакте и при этом были проиндексированы поисковыми машинами.

Данный скрипт я сделал на основе JS фреймворка jQuery (перейти на сайт) и плагина HashChange (перейти на страницу плагина).

Первое, что я сделал это — подключил скрипты на странице и написал функцию которая будет отслеживать изменение хеша страницы:

Подключение скриптов:
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/hashchange.js"></script>


Функция:
	$jQuery = jQuery.noConflict();
	$jQuery(window).hashchange(function(){
		var link = window.location.hash.replace("#", "");
		get_page_by_hash(link);
	});

Читать дальше →
Всего голосов 61: ↑33 и ↓28+5
Комментарии41

В nginx появился нативный модуль стриминга mp4

Время на прочтение1 мин
Количество просмотров10K
image Модуль полностью нативный и написан Игорем Сысоевым, анонс был вчера:

Изменения в nginx 1.1.3 14.09.2011
*) Добавление: модуль ngx_http_mp4_module.

Только что я его поставил и он работает.
Основная директива mp4 совместима с модулем h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2
Описание директив модуля:
nginx.org/en/docs/http/ngx_http_mp4_module.html

Ссылка на исходник, спасибо powder96
nginx.org/download/nginx-1.1.3.tar.gz
Ссылка на rpm для Centos 5
centos.alt.ru/?p=579

По моему это просто чудо какое то.
Добейте если не жалко 22 плюса к новости до инвайта.
Всего голосов 152: ↑140 и ↓12+128
Комментарии74

Пьеса «Разработка многопользовательской сетевой игры.» Часть 3: Клиент-серверное взаимодействие

Время на прочтение7 мин
Количество просмотров15K


Часть 1: Архитектура
Часть 2: Протокол
Часть 4: Переходим в 3D

С третьей частью я немного задержался. Но как говорится лучше поздно чем никогда…

Итак, продолжаем разговор.

В третьей части нашей постановки мы реализуем протокол, напишем сервер и клиент которые будут взаимодействрвать по сети. И (ОМГ!) танки будут ездить!
Под катом то, что вы давно хотели, но боялись спросить…

Добро пожаловать в зрительный зал.
Всего голосов 72: ↑68 и ↓4+64
Комментарии41

Создание полноразмерных скриншотов web-ресурсов

Время на прочтение3 мин
Количество просмотров13K
Довольно полезным сервисом является создание полноразмерных скриншотов web-ресурсов.
Реализуем этот сервис буквально за 5 минут.

Задачи:


1) Создание полноразмерных скриншотов сайтов (полный скриншот по длине и ширине, а не захват окна браузера)
2) веб-интерфейс

Технологии:


— ОС — Ubuntu 10.04
— xvfb — Виртуальный фреймбуффер (Fake Xserver)
— CutyCapt — кроссплатформенная утилита для рендеринга web-страниц
— php — для веб-интерфейса
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии41

Бонус до $50 для новых клиентов Payweb!

Время на прочтение1 мин
Количество просмотров1.6K
image
Здравствуйте, уважаемые хабропользователи!

Мы запустили новую акцию, которая позволит вам значительно сэкономить на открытии офшорного счёта через Payweb!
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии3

How to по деревьям на jQuery

Время на прочтение5 мин
Количество просмотров7.2K
Часто встречаются задачи, в которых требуется отобразить древовидную структуру взаимосвязей каких-либо сущностей. Например, навигация по файловой системе, меню сайта или содержание учебника.
image
Самым простым вариантом отобразить древовидную структуру в HTML являются списки. Но нас интересуют деревья, обладающие динамическими свойствами. Без javascript тут не обойтись. Так как решение нужно обычно быстро, то использование jQuery позволяет создавать динамические деревья, экономя прилично времени на кодинге. Чтобы сэкономить себе еще кучу времени идем на поисковик и ищем подходящее решение. В целом часто на этом дело создание дерева на сайте и ограничивается, но бывают ситуации, когда дерево подходит, но не имеет какой-то маленькой фишки и тут уже ни чего не остается, кроме как модифицировать имеющиеся дерево.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии12

Как сделать собственный видео-плеер на HTML5 Video

Время на прочтение9 мин
Количество просмотров189K
Ранее мы уже рассмотрели общие вопросы использования HTML5 Audio и Video и начали погружаться в детали, начав с задачи определения поддержки браузером нужного кодека. Сегодня мы рассмотрим задачу создания собственного видео-плеера на HTML5 Video.


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

<video src="trailer_480p.mp4" width="480" height="270" poster="poster.gif" controls />

Однако, как я отмечал в вводной статье, со стандартными контролами есть проблема, которая заключается как раз в том, что выглядят они нестандартно. Другими словами, в каждом браузере они выглядят по-своему (проверить, как выглядят контролы в разных браузерах, можно на примере Video Format Support на ietestdrive.com — просто откройте его в двух-трех различных браузерах).
Читать дальше →
Всего голосов 99: ↑84 и ↓15+69
Комментарии17

Обработка входящей почты на PHP

Время на прочтение2 мин
Количество просмотров37K
Хочу поделиться рецептом, как совместить php-скрипт и почтовый сервер Postfix для автоматической обработки входящей почты.

С помощью такой связки мы собираем статистику по количеству возвратов bounce-писем:Undelivered Mail Returned to Sender.

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

Как это сделать...
Всего голосов 73: ↑62 и ↓11+51
Комментарии43

Инструменты командной строки для веб-разработчика

Время на прочтение3 мин
Количество просмотров39K
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
Читать дальше →
Всего голосов 227: ↑217 и ↓10+207
Комментарии30

В конце этого года наступит эпоха вмешательства сайтов в контекстное меню браузеров посредством HTML5

Время на прочтение1 мин
Количество просмотров911
Всякий, кто читал сколько-нибудь недавний черновик стандарта HTML5 и доходил там до подраздела 4.11.4.3 Context menus»), уж конечно видал в нём, что стародавнему элементу <menu> придали новый смысл — так что он может использоваться, в частности, для пополнения контекстного меню некоторого элемента формы новыми командами, вызывающими на исполнение джаваскрипты:

<form name="npc">
   <label>Character name:
      <input name=char type=text contextmenu=namemenu required>
   </label>
   <menu type=context id=namemenu>
      <command label="Pick random name"
         onclick="document.forms.npc.elements.char.value = getRandomName()">
      <command label="Prefill other fields based on name"
         onclick="prefillFields(document.forms.npc.elements.char.value)">
   </menu>
</form>

Некоторое время нововведение можно было попросту игнорировать: право же, ну какое значение мог иметь кусок черновика, не поддерживаемый ещё ни одним браузером?

Но это время стремительно близится к концу.

На днях вышел Firefox 6. И новый шестинедельный цикл разработки Файерфоксов означает, что через ≈12 недель (через ≈три месяца, в ноябре нынешнего 2011 года) выйдет и Firefox 8, сейчас находящийся в состоянии «Aurora» (то есть в фазе альфа-тестирования).

Firefox 8, господа, будет поддерживать атрибут contextmenu; у всех вас (да и у меня также) есть не более двенадцати недель для подготовки к появлению вышеописанного нововведения в массовой реальности.
Всего голосов 54: ↑45 и ↓9+36
Комментарии73

Недокументированные возможности secure_link

Время на прочтение2 мин
Количество просмотров14K
  Начиная с версии 0.8.50 в модуле Nginx secure_link появилось значительное улучшение по защите ссылок от подделывания. Как ни странно, новые возможности до сих пор не отражены в официальной документации [1]. Описание на английском можно найти на сайте Nginx Community [2], а также пояснения Сысоева по данным изменениям [3]. Код на PHP для генерации защищённых ссылок можно найти в форуме по nginx [4].
 В общем, новшество выглядит так:
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии30

Асимметричная криптография при лицензировании подписочного ПО на практическом примере

Время на прочтение12 мин
Количество просмотров13K
Речь пойдет о том, как устроена защита десктопных программ, а также о типичной системе лицензирования и активации ключей. Активация применяется практически в любом коммерческом ПО, и то, на каких принципах она строится, довольно интересно, поэтому я решил написать эту статью.

В статье читайте:
  • Про «лицензию», «активацию», «хэш-функции», «цифровую подпись», «асимметричную криптографию» и (вкратце) про RSA и DSA, без формул и математики.
  • Чем механизм подписки (subscription) отличается от традиционного лицензирования.
  • Применение описанных принципов на примере EXE-протектора VMProtect.
Статья сугубо практическая, т.к. эти же самые идеи мы применяем в нашем стартапе — платформе RentSoft (мы рассказывали о нем в предыдущей статье). Фактически, я описываю, что находится у нас «под капотом», а также сообщаю о тех «граблях», на которые мы в свое время наступили. Ближе к концу статьи будет практическая демонстрация — иллюстрация механизма взаимодействия нашей платформы с протектором EXE-файлов VMProtect, нашим партнером.

Итак, приступим.
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии96

Gearman – фреймворк для распределения задач, введение

Время на прочтение6 мин
Количество просмотров37K


    В этой статье, мне бы хотелось рассмотреть один из необычных способов оптимизации приложения, а именно использование проекта Gearman для распределения задач. Gearman является фреймворком для построения таких систем. Примеров кода в статье нет, статья больше вводная, хоть и содержит в себе достаточно практической информации.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии40
2

Информация

В рейтинге
2 413-й
Дата рождения
Зарегистрирован
Активность