Есть вроде бы обычные задачи, которые можно решить сразу и не задумываясь, но при интенсивном использовании таких решений возникают проблемы, причем не маленькие. Об одной из таких задач я и хочу рассказать.
Thorn @b3atb0x
User
Простое сравнение изображений с помощью php
3 min
27KАлгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
+145
50 монохромных образцов дизайна web-сайтов
1 min
16KTranslation

Из всех цветовых схем монохроматическая является одной из самых простых и удачных. Причина такой лёгкости заключается в том, что один оттенок цвета почти всегда работает с другим оттенком того же цвета.
Одной из самых популярных монохроматических схем является голубой. Это скорее всего потому, что синий считается легким, живым и натуральным цветом. Однако не только синий является успешной цветовой схемой: зеленые, пурпурный, коричневый, красные также могут установить надлежащее настроение.
В этой статье мы рассмотрим 50 монохроматических вариантов дизайна, сайты разбиты на категории в зависимости от преобладающих цветов, которые они используют (все варианты кликабельны).
+56
AddVenture – лекарство от кризиса для российского стартапа
5 min
1.1KВсего через 4 месяца после запуска программы динамичного развития стартапов AddVenture в разгар кризиса два из шести ее «выпускников» привлекли следующий раунд инвестиций. Фонд бизнес-ангелов AddVenture считает кризис «окном возможностей» и запускает в марте вторую программу.
В августе 2008 года фонд AddVenture отобрал шесть IT-стартапов, в которые проинвестировал по 20-50 тыс. дол. Мы искали команды «супергероев» – целеустремленных людей с глубоким пониманием рынка, потому что единственная определенность в стартапах – «все пойдет не так». Известно наверняка, что бизнес-план устареет до того, как высохнут чернила. Значит, нужно уметь приспосабливаться и играть вне своей зоны комфорта, уметь быстро находить решения.
Итак, первый транш переведен на счет только что созданной компании. Здесь работа большинства инвесторов если не прекращается, то становится гораздо менее интенсивной, у нас же в этот момент началось самое интересное.
В августе 2008 года фонд AddVenture отобрал шесть IT-стартапов, в которые проинвестировал по 20-50 тыс. дол. Мы искали команды «супергероев» – целеустремленных людей с глубоким пониманием рынка, потому что единственная определенность в стартапах – «все пойдет не так». Известно наверняка, что бизнес-план устареет до того, как высохнут чернила. Значит, нужно уметь приспосабливаться и играть вне своей зоны комфорта, уметь быстро находить решения.
Итак, первый транш переведен на счет только что созданной компании. Здесь работа большинства инвесторов если не прекращается, то становится гораздо менее интенсивной, у нас же в этот момент началось самое интересное.
+6
Кроссбраузерная одноцветная полупрозрачность
3 min
13KВ этой статье я рассмотрю метод создания блоков с одноцветным полупрозрачным фоном.
Например, таких:

Сразу оговорюсь, что я не буду использовать opacity и абсолютное позиционирование, чтобы разместить контент поверх полупрозрачного блока.
Например, таких:

Сразу оговорюсь, что я не буду использовать opacity и абсолютное позиционирование, чтобы разместить контент поверх полупрозрачного блока.
+181
Мультидоменный сервер nginx -> apache
3 min
9.6KПриветствую! Размещаю по просьбе друга статью.
У него к сожалению пока нет регистрации на хабе, а у меня мало кармы что бы выслать приглашение.
Если есть возможность и понравились статья вышлите ему инвайт, или можно попробовать поднять мне карму что бы я мог выслать ему инвайт.
Итак задача:
Организовать удобное администрирование многодоменного web сервера.
Модель системы: linux -> nginx -> apache -> php -> mysql.
Раньше у меня для каждого домена были отдельные конфиги для nginx и apache,
и для добавления нового хоста требовалось добавить как минимум 2 конфига.
Работа была организована удобно. По сути, были 2 скрипта. 1 для добаления хоста к nginx, другой для apache. (ещё есть скрипт добавления хоста в bind но это другая история).
Но и это было не удобно в условия добавления удаления хостов… иногда забыл nginx прописать, иногда в апаче чтото не то…
Решено было следующим образом:
У него к сожалению пока нет регистрации на хабе, а у меня мало кармы что бы выслать приглашение.
Если есть возможность и понравились статья вышлите ему инвайт, или можно попробовать поднять мне карму что бы я мог выслать ему инвайт.
Итак задача:
Организовать удобное администрирование многодоменного web сервера.
Модель системы: linux -> nginx -> apache -> php -> mysql.
Раньше у меня для каждого домена были отдельные конфиги для nginx и apache,
и для добавления нового хоста требовалось добавить как минимум 2 конфига.
Работа была организована удобно. По сути, были 2 скрипта. 1 для добаления хоста к nginx, другой для apache. (ещё есть скрипт добавления хоста в bind но это другая история).
Но и это было не удобно в условия добавления удаления хостов… иногда забыл nginx прописать, иногда в апаче чтото не то…
Решено было следующим образом:
+56
Хотите умереть быстро?.. Станьте ПМ-ом!
6 min
15KЗа 5 лет работы в компании сменилось огромное количество менеджеров проектов.
ПМ-ы мрут как мухи. Как пехота штрафбата, брошенная в бессмысленную лобовую атаку.
Мрут сами (уходят), их убивают (увольняют), устраивают ксеноцид (их увольняют вместе с командой). Бегущие без винтовок, сзади вас товарищи, заменят вас. И проживут свои 2 минуты.

ПМ-ы мрут как мухи. Как пехота штрафбата, брошенная в бессмысленную лобовую атаку.
Мрут сами (уходят), их убивают (увольняют), устраивают ксеноцид (их увольняют вместе с командой). Бегущие без винтовок, сзади вас товарищи, заменят вас. И проживут свои 2 минуты.

+169
Индикация языка ввода
1 min
6.7KПосле прочтения поста про пароль и раскладку клавиатуры решил набросать скрипт, который бы сигнализировал, на каком языке вводится пароль.
+40
Что такое «стартап» на самом деле
1 min
2.4KПривет, я зануда. Итак...
Вы уж меня простите все, но молчать я больше не могу. Очень хочется внести ясность.
Слово «стартап» нынче применяется исключительно по отношению к вебдванольным интернет-проектам. Что ни новая соцсеть, то обязательно стартапом нарекают. Веб-сервис сделали — тоже стартап. Гррр!
Люди Земли, запомните:
Стартап (от англ. start-up) — это молодая небольшая компания, имеющая, как правило, ограниченные ресурсы и только-только начавшая свою деятельность. В большинстве случаев — это молодая компания, деятельность которой связана не с интернетом и вебдванолем, а с любой инновационной технологией (в интернете, нанотехнологиях, медицине, да в чем угодно). Такие компании раньше называли хайтек-стартапы, теперь просто стартапы.
Стартап — это не сайт, не проект, не веб-сервис, не технология. Это компания. Называть веб-проект стартапом так же некорректно, как и называть компанию интернет-сайтом.
Ну и чтобы не быть голословным, вот несколько ссылок на информацию для размышления:
— русская Википедия и нерусская Википедия
— словарь thefreedictionary.com
— словарь Меррайам-Вебстер
Спасибо за внимание. До новых встреч.
Вы уж меня простите все, но молчать я больше не могу. Очень хочется внести ясность.
Слово «стартап» нынче применяется исключительно по отношению к вебдванольным интернет-проектам. Что ни новая соцсеть, то обязательно стартапом нарекают. Веб-сервис сделали — тоже стартап. Гррр!
Люди Земли, запомните:
Стартап (от англ. start-up) — это молодая небольшая компания, имеющая, как правило, ограниченные ресурсы и только-только начавшая свою деятельность. В большинстве случаев — это молодая компания, деятельность которой связана не с интернетом и вебдванолем, а с любой инновационной технологией (в интернете, нанотехнологиях, медицине, да в чем угодно). Такие компании раньше называли хайтек-стартапы, теперь просто стартапы.
Стартап — это не сайт, не проект, не веб-сервис, не технология. Это компания. Называть веб-проект стартапом так же некорректно, как и называть компанию интернет-сайтом.
Ну и чтобы не быть голословным, вот несколько ссылок на информацию для размышления:
— русская Википедия и нерусская Википедия
— словарь thefreedictionary.com
— словарь Меррайам-Вебстер
Спасибо за внимание. До новых встреч.
+202
Эдуард Шендерович: «Инвестор должен быть оптимистом»
4 min
4.2KЭдуард Шендерович – человек многочисленных и разнообразных талантов: поэт, философ, филолог, предприниматель. И ко всему этому – успешный инвестор, основатель и управляющий директор управляющей компании Kite Ventures. Вполне возможно, что именно совмещение различных и с виду противоречивых способностей позволяет ему инвестировать в нужные проекты, в нужное время и нужными суммами. На своей лекции для слушателей специализации «Менеджмент в сфере интернет-технологий» Эдуард Шендерович рассказывал азы непростого искусства инвестирования.
+10
Wordpress — стандарты кодирования плагинов
8 min
4.8K
Увлекшись написанием плагинов для Wordpress'а составил правила хорошего тона…
+66
Пишем Referrer tracker: мал да удал, с хранимыми процедурами MySQL
4 min
3.6KЧасто возникает желание посмотреть отуда приходят люди на ваш сайт, дабы пойти туда почитать что про нас любимых пишут, и рьяно вступить в полемику не отходя от кассы. Казалось бы, такая популярная штука как Google Analitycs должна делать это, но есть одна проблема — в отчете отрезаются GET-параметры, и если вы видите что ссылка с огромного форума, то вам еще предстоит найти нужную тему, что отнимает время (стоит упомянуть, что Google Analitycs требует дополнительного JS кода на страницах, что также отнимает время и трафик).
+34
Редактор для хабра
2 min
937Хабра редактор.
Предыстория
Делал для своего блога online редактор контента. Причем я привык пользоваться обычным редактором типа notepad++. Я не сторонник WYSIWYG редакторов, поэтому сделал свой редактор на основе обычного textarea. Какие же преимущества у редактора?
- Удобная панель инструментов в стиле Office 2007 (на скока покажет практика)
- Поддержка горячих клавиш (почти на весь функционал)
- Tab ставит именно табуляцию, а не прыгает на следующий элемент (ставит 4 пробела)
- Shif+Tab удаляет табуляцию
- Умный Enter (при переносе вставляет табуляцию как у предыдущей строки для выравнивания)
- Shift + Enter вставляет перенос строки в стиле HTML тег
К чему это я клоню?
Мне показалось это удобно по этому я решил, поделиться этим счастьем с другими, и сделал сервис для написания статей для хабра. А так как на хабр пишут много кода, решил реализовать и подцветку кода используемую на моем блоге. А так как добрый хабр вырезает все не угодные ему теги, а я использую библиотеку GeSHi. Пришлось немного доработать напильником, и теперь у хабросообщества появилась возможность писать код в красках. А так как эта библиотека довольно популярна она может подсвечивать более 80 языков. Подцветка реализуется прямо в тексте статьи, надо просто указать класс для тега code вот так
<code class="html"></code >
Если не хотите чтобы подцвечивал, то не надо не чего указывать тогда он просто отформатирует отступы без подцветки.
Также был подключен типограф подробнее, что он может, можно посмотреть здесь*4.
+71
PHP + Twitter
2 min
2.3KTwitter сейчас бурно развивается и на то были причины, есть в нем хорошие функции, которые можно использовать и в своих проектах.
На Хабре есть фишка связанная с ним, если в профиле ввести свой Twit-аккаунт, то последнее сообщение будет стоять у вас в статусе — мелочь, а приятно, не нужно делать одно и тоже дважды.
Второй пример, который стал причиной моего углубления в этот вопрос, — это проект, мы его еще не запустили, но как всегда сделали заглушку с формой для сбора адресов. Так вот, чтобы она не выглядела уныло и люди могли следить за тем, что происходит с проектом, я создал аккаунт на твиттере и транслирую сообщения на этот сайт в удобном мне виде. Человек может заходить на сайт и смотреть «что нового», а может и воспользоваться тви, а мне нужно будет вводить текст всего единожды. Тем более люди легко смогут задать вопрос, а я быстро о нем узнаю.
В техническом исполнении все оказалось не сложно.
На Хабре есть фишка связанная с ним, если в профиле ввести свой Twit-аккаунт, то последнее сообщение будет стоять у вас в статусе — мелочь, а приятно, не нужно делать одно и тоже дважды.
Второй пример, который стал причиной моего углубления в этот вопрос, — это проект, мы его еще не запустили, но как всегда сделали заглушку с формой для сбора адресов. Так вот, чтобы она не выглядела уныло и люди могли следить за тем, что происходит с проектом, я создал аккаунт на твиттере и транслирую сообщения на этот сайт в удобном мне виде. Человек может заходить на сайт и смотреть «что нового», а может и воспользоваться тви, а мне нужно будет вводить текст всего единожды. Тем более люди легко смогут задать вопрос, а я быстро о нем узнаю.
В техническом исполнении все оказалось не сложно.
+29
Отправка комментариев пользователей сайта вам на Jabbеr
1 min
6KВо время шумихи с аськой и предложениями перехода на jabber я решил разобраться: что же такое джаббер и как он мне может пригодиться кроме прямого общения.
Применение нашлось само собой – хочется получать комментарии с сайта себе в мессенжер. Этот подход оказался очень удобным и простым в реализации.
Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.
В функцию добавления комментария на сайте я добавил строки:
Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.
Вот собственно и все…
P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.
Применение нашлось само собой – хочется получать комментарии с сайта себе в мессенжер. Этот подход оказался очень удобным и простым в реализации.
Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.
В функцию добавления комментария на сайте я добавил строки:
include ‘XMPPHP/XMPP.php’; $conn = new XMPPHP_XMPP('джаберовский сервер', 5222, 'логин', 'пароль', 'xmpphp', 'jabber.ru', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO); try { $conn->connect(); $conn->processUntil('session_start'); $conn->presence(); $conn->message('ваш джаббер', 'текст сообщения'); $conn->disconnect(); } catch(XMPPHP_Exception $e) { die($e->getMessage()); }
Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.
Вот собственно и все…
P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.
+145
UPD. Демон конвертации видео в FLV.
1 min
2.3KЭто продолжение, а точнее развитие, статьи написанной ранее.
В результате небольшого рефакторинга, получилось повысить производительность, и упростить код. Результатом стало изменение перечня используемого софта.
В результате небольшого рефакторинга, получилось повысить производительность, и упростить код. Результатом стало изменение перечня используемого софта.
+26
IE8: наиболее полное описание нововведений для программиста (и не только)
12 min
6.7K
Хотел бы сразу отметить, что статья достаточно объемная и часть информации уже была опубликована мной на Хабре. Цель данной статьи объединить максимальное количество информации про новую версию Internet Explorer и представить ее в приемлемом объеме.
В комментах принимаю замечания и исправления.
+103
Буржуйские трюки
3 min
888
Человек и Машина: Взаимодействие
Будучи робототехником, я часто задавался вопросом о взаимодействии человека и робота, хотя бы на программном уровне. Говоря о веб технологиях и Интернете нельзя забывать о том, что сделав сайт, вы теряете контакт с человеком. Вы не общаетесь по телефону, не встречаетесь в живую. Вся информация предоставляется текстом, или в лучшем случае, картинками и видео-роликами.
Прочитав несколько статей на UX Booth удивился, как буржуям всё же удаётся заставить посетителей своих сайтов (и не только) почувствовать некий человеческий фактор. Моим любимым стал Tom Anderson из команды MySpace.
+37
Как быстро начать и эффективно продолжить писать расширение для лисы
1 min
1.1KОбычно цикл разработки таков:
1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.
Стало страшно? Тогда…
+38
Демон конвертации видео в FLV
3 min
3.8KРешил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
+38
Information
- Rating
- Does not participate
- Location
- Киевская обл., Украина
- Date of birth
- Registered
- Activity