Search
Write a publication
Pull to refresh
223
0
Павло @TheShock

Senior JS Developer

Send message

Сравнение кодеков VP8, x264 и libtheora

Reading time8 min
Views11K
Месяц назад Google открыл спецификации формата VP8, который должен стать основным форматом видео в вебе. VP8 свободен от патентов в отличие от H.264, при этом по заявлениям разработчиков должен превзойти конкурента по качеству. На сайте компании On2 уже давно висит многообещающий график. Когда кодек появился в открытом доступе, мне стало интересно, выполнили ли они обещание.

Те сравнения, которые появились в сети после релиза, были достаточно поверхностны. Jason Garrett-Glaser, разработчик x264, также готовит своё субъективное сравнение большого количества кодеков, где будет представлен и VP8, но он его ещё пока не опубликовал.

Картинка для привлечения внимания

Так я взялся проделать своё небольшое объективное сравнение.
Графики, скриншоты, трафик

Torrent-Search — сервис быстрого поиска торрентов

Reading time1 min
Views116K


Здравствуйте, Хабравчане.
Однажды мне пришла идея создать сайт для поиска торрентов. Ведь, очень не удобно искать, по очереди, на большом количестве трекеров.
Итак, представляю Вам — Torrent-Search.
Читать дальше →

Мастер-классы по javascript, AJAX/COMET, jQuery в Киеве и Москве

Reading time1 min
Views2K
Всем привет!

Этим летом будут мастер-классы в нескольких городах.

17-18 июля в Москве.
24-25 июля в Киеве.

Ведущий — Илья Кантор ( javascript.ru, algolist.manual.ru, еще пара слов на странице мастер-классов).
Программы:
  • Профессиональное javascript-программирование.
  • Сложный AJAX и COMET: тонкости Web 2.0.
  • Мастер-класс по клиентской оптимизации.
  • Секреты jQuery.
Более подробно программу вы можете прочитать на javascript.ru/mk

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

Мероприятие платное, но цена очень доступная. Сейчас это 1300 руб / 350 грн за мастер-класс.

Регистрация открыта на javascript.ru/mk, там же больше информации о мастер-классах.

P.S. На этом же URL — планы по другим городам.

Обзор новинок в Ruby on Rails

Reading time5 min
Views1.9K
Для начала мы обратим внимание на Rails 2.3.8 — многие из вас слышали о нем, но не все знают, что конкретного там поменялось. К слову, основные нововведения произошли в версии 2.3.6, а .7 и .8 версии лишь исправляли ошибки.

Так вот, список изменений лично для меня довольно приятный, я не буду оглашать его полностью, рассмотрю лишь самое интересное.

1. Переработан флеш, рекомендуется использовать два базовых типа — alert и notice. А еще его можно использовать с редиректом.
Вот как было:
flash[:notice] = 'Статья добавлена'
redirect_to @article
И как можно писать теперь:
redirect_to(@article, :notice => 'Статья добавлена')
Стоит учесть, что если у вас есть свой тип флеша, например, flash[:error], то добавить его к редиректу не получится.
Читать дальше →

Генератор миниатюрок из Nginx-а

Reading time3 min
Views27K
Итак, сегодня мы соберём генератор миниатюрок на базе любимого народом веб-сервера — nginx-а. Что примечательно, сделаем мы это без единого гвоздя, т.е. без единой строчки кода, не считая конфигурации.
Что ж приступим...

Blender. Введение в ноды (Часть 1)

Reading time1 min
Views42K
imageimage
Обойтись без нодов в блендере, для достижения интересных эффектов, очень тяжело. С помощью нод можно сделать очень многое. В этой статье я покажу очень простой и красивый эффект подмены градиента с помощью ноды ColorRamp.
Трафик (1.5 Мб)
Читать дальше →

Визуальный редактор на jQuery

Reading time2 min
Views14K
Визуальный редактор

В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
  • он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
  • обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
  • гибкий для разработки, доработки и встраивания под все возможные нужды;
  • с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.

Читать дальше →

Code golf: игра в города

Reading time2 min
Views5.1K
Сайт AskDev.ru проводит конкурс по спортивному программированию с призами в стиле code golf (побеждает самая короткая по длине программа).

Конкурсное задание: написать программу для игры «в города».

На вход подается массив вида

[Калининград, Вологда, Алматы, Дмитров, Архангельск, Тобольск, Краков]

На выходе.

[Архангельск, Краков, Вологда, Алматы, Тобольск, Калининград, Дмитров]

Прошу учесть во внимание что города на букву Ы в данном списке нет, поэтому далее поиск идет по предыдущей букве.

Важно: буква Ы в примере выше исключена не потому что она плохая, а потому что в списке нет городов нет начинающихся на Ы. Использовать предпоследнюю букву можно только в том случае, если нет слов, начинающихся с последней буквы.

Читать дальше →

Колибри: Обзор вашего интернет-трафика в реальном времени

Reading time2 min
Views1.7K
logo
Михаил Натт и Бенни Вонг создали интересный продукт для интернет-аналитики в реальном времени, названный «Колибри» (Hummingbird). Он создан с использованием таких горячих технологий, как Node, Canvas, Web Sockets, MongoDB.
Читать дальше →

Только 10% программистов способны написать двоичный поиск

Reading time2 min
Views84K
Дональд Кнут (известный тем, что его книги никто не читает) пишет, что хотя первый двоичный поиск был опубликован в 1946 году, первый двоичный поиск без багов был опубликован только в 1962.

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

С массивами так: есть упорядоченный массив, берем число из середины массива, сравниваем с искомым. Если оно оказалось больше, значит искомое число в первой половине массива, если меньше — во второй. Продолжаем делить оставшуюся половину, когда находим нужное число возвращаем его индекс, если не находим возвращаем null.

Так вот я это к чему...

Все знают что "++i + ++i" — плохо, но что-же за ширмой?

Reading time3 min
Views30K
Баг, выглядывающий из-за ширмы на вас о_ОНесомненно, все программисты знают что использование выражений, подобных тому что приведено в заглавии поста, не то что нежелательно, а строго противопоказано. Такие конструкции, поведение компилятора в которых не определено, могут принести множество трудноуловимых ошибок и нежелательных последствий. Но уверен, многим начинающим программистам хотелось бы по глубже понять эту проблему и, заглянув за ширму компилятора, узнать что же именно происходит в таких случаях. Изучению одного из примеров подобного кода я и посвящаю этот пост. Добро пожаловать под кат :)
Читать дальше →

Решаем проблемы с кодировкой в mp3

Reading time2 min
Views8.8K
Не секрет, что многие, до сих пор, прописывают тэги во всяких cp1251 и KOI-8R — после чего их не понимают ни телефоны, ни плееры (некоторые) и с проигрывателями под linux бывает много проблем.
Больше всего неприятно, то что при загрузке новой музыки, ты не можешь быть уверен в какой кодировке идут тэги и вот добавив в свой проигрыватель ты обнаруживаешь нечитаемые символы вместо названия трека, исполнителя и альбома. А ведь оно еще и на last.fm скроблится в таком виде.

Можно использовать EasyTag и прочие редакторы тэгов.
Но чаще всего, мне надо только поправить кодировку, а тэги прописаны верно.

До этого, я всегда пользовался простым shell скриптом, но решил немного облегчить задачу.
Читать дальше →

Одноврéменно || Одновремéнно

Reading time2 min
Views933
image

Введение


ZendX_Console_Process_Unix позволяет разработчикам создавать объекты под видом процессов, и таким образом параллельно выполнять несколько задач. Из-за особенностей реализации на текущий момент эта возможность доступна только на *nix системах, таких как Linux, Solaris, Mac / OSX и другие в CLI или CGI режиме. Кроме того для работы этого компонента необходимы следующие модули: Shared Memory, Process Control и POSIX. Если одно из требований не выполняется, то будет брошено исключение.

Основы использования ZendX_Console_Process_Unix


ZendX_Console_Process_Unix это абстрактный класс, который должен быть расширен пользователем. В нем находится единственный абстрактный метод _run(), который должен описывать реализуемый алгоритм обработки тех или иных данных. Так же в классе определенны методы для проверки состояния процесса и обмена переменными между основным и дочерними процессами.

Метод _run(), а так же каждый метод вызванный внутри него будет выполняться в отдельном процессе. Любой другой метод, вызванный в вашем приложении будет выполняться в родительском процессе.

Методы setVariable () и getVariable () могут быть использованы для передачи переменных между родительским и дочерними процессами. Для наблюдения за статусом дочернего процесса следует вызывать внутри него метод _setAlive () через короткие промежутки времени, таким образом родительский процесс сможет получить информацию о состоянии дочернего процесса посредством вызова метода getLastAlive (). Чтобы получить PID дочернего процесса, родитель может вызвать getPid().
Читать дальше →

Использование паттерна Builder в случае, когда мы сталкиваемся с конструктором с многими параметрами

Reading time7 min
Views39K
Статья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch

В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.

Читать далее

Как IE8 определяет Document Mode, по которому затем рендерит сайты

Reading time1 min
Views2.8K
Команда IE официально опубликовала алгоритм определения Document Mode в IE8.

Оказывается при определении Document Mode учитывается множество косвенных параметров, связанных с интранетом и клиентскими настройками.

Читать дальше →

Проект KDE объявил конкурс по разработке виджетов на языке Javascript

Reading time2 min
Views915
Проект KDE объявил конкурс Plasma Javascript Jam Session. Участникам предлагается создать наиболее оригинальный и интересный плазмоид для рабочего стола, написанный с использованием Plasma JavaScript API. Работы можно отправить на email javascriptjam@kde.org до 31 марта 2010 года, после чего 2 апреля работы будут размещены на сайте kde-look.org, а 9 апреля будут объявлены победители.

Код всех конкурсных работ должен распространяться под свободными лицензиями, совместимыми с основной кодовой базой KDE. Возможно использование сторонних JavaScript библиотек и движков для обработки данных, однако сама работа должна быть полностью создана самостоятельно, без копирования кода из других плазмоидов. В конкурсе могут участвовать как частные лица, так и команды разработчиков, но от каждого участника/команды принимается только один плазмоид.
Читать дальше →

Кошачье пастбище

Reading time6 min
Views1.9K

У книги Карла Фогеля «Producing open source software» замечательная обложка (см. выше). На ней показано множество маленьких стрелок разного размера, указывающих направо, и бо́льшая стрелка жёлтого цвета, на мой взгляд показывающая итоговый эффект. Она как бы говорит нам: если все лошади будут тащить в одном направлении, можно будет передвинуть на другое место целый дом.

Я понимаю ее именно так, потому что она напоминает мне кучу разных рисунков, которые делались на занятиях физики. Если шар ударяется о другой вот так и под вот таким углом, куда упадёт ботинок? Что-то такое.

Это красивая картинка, и именно так я представлял себе опенсорс, пока не стал в нём участвовать. Все люди тащат проект в одном направлении, чтобы сделать энциклопедию, или операционную систему. Но, скажу я вам, это совсем не так, пока проект не вырос
Читать дальше →

Как я в вузе электронную коммерцию преподавала (ч. 1, подготовка к семестру)

Reading time3 min
Views2.9K
Закончив вуз летом 2009 года, я вполне натурально расстроилась, решив, что никогда уже не вернусь в альма-матер. С институтом в моей жизни было многое связано: я всегда активно участвовала в разнообразных конференциях, два младших курса подрабатывала методистом, помогала с выставками и другими мероприятиями… Однако, расставаться надолго не пришлось: в конце лета мне позвонили и поинтересовались, не хочу ли я читать курс электронной коммерции? Я, конечно, хотела. Судя по всему, других желающих не было, так как мне поставили занятия на субботу, чтобы я могла не отрываться от основной работы, и даже согласились закрыть глаза на вероятные отъезды в командировки, с условием, что я отчитаю все положенные часы.
Читать дальше →

The Third & The Seventh

Reading time1 min
Views2.1K
Шедевральный 3D-видеоролик, сделанный руками всего одного человека (Alex Roman).



Настоятельно рекомендую перейти на Vimeo и посмотреть видео в HD на весь экран:

vimeo.com/7809605

Саундтрек:
Michael Laurence Edward Nyman — The Departure
Charles-Camille Saint-Saens — Le Carnaval des animaux

Путь от успешного стартапа до большой компании

Reading time5 min
Views2.2K
На Хабре довольно часто публикаются статьи о том, как правильно раскрутить свой стартап (например, вот эта статья). Но я пока еще не встречал статей о том, что делать со стартапом после того, как он успешно запущен и раскручен, поэтому я решил восполнить этот пробел и написать про статью про историю одного сферического стартапа в вакууме. Статья не обходится без выводов, базируется на реальном жизненном опыте и находится под катом.

С Новым Годом! С Новым Счастьем!
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity