Pull to refresh
106
4
Глеб Михеев @glebmachine

Frontend-разработчик с 2003 года

Send message

Порнография с точки зрения эволюционной психологии

Reading time 14 min
Views 65K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить
Total votes 528: ↑476 and ↓52 +424
Comments 343

Примеры работы с разными map API

Reading time 6 min
Views 82K

Есть много статей на тему знакомства с Google Map Api и Yandex Map Api, но про остальные картографические сервисы не так много практического материала. В недавнем времени работал с Api:
  1. Google map
  2. Yandex map
  3. Yahoo map
  4. Bing map
  5. OpenStreet map

И хотел обобщить работу с вышеупомянутыми сервисами, а именно инициализация карты и установление маркеров по клику мышки. Материалы в статье представлены в виде Html кода, javascript и результата — скриншота, а так же исходники на vs 2010 MVC3.
Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Comments 22

YAF — самый быстрый php фреймворк*

Reading time 1 min
Views 14K
Yaf — это PHP микро-фреймворк, взявший за основу структуру приложения Zend Framework, но написанный на С и является PHP extension доступным через PECL.

Основной (и единственной) задачей для написания его послужила необходимость максимально быстрой (сравнимой с php) обработки запросов в парадигме MVC но с удобством предоставляемым Zend Framework.

Yaf и Zend Framework, имеют аналогичные API и подобную концепцию, сохраняя при этом совместимость.
Я сгенерировал тестовое приложение (zf create project test) и провел небольшой синтетический тест производительности.
Интересен результат? Добро пожаловать под кат
Total votes 73: ↑62 and ↓11 +51
Comments 97

Нечёткий поиск на клиенте и Soundex

Reading time 7 min
Views 8.6K
Soundex — один из алгоритмов сравнения двух строк по их звучанию. Был разработан чуть менее 100 лет назад Робертом Расселом и Маргарет Оделл. Активно используется в США при диктовке фамилий.

Я давно интересовался применением этого алгоритма и нашёл ему место для фильтрации данных на клиенте, а точнее, для поиска отеля по названию в проекте Островок.ru.

Задача

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

Решение, проблемы и готовый скрипт
Total votes 72: ↑70 and ↓2 +68
Comments 44

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Reading time 4 min
Views 39K

Вопрос безопасности всегда будет актуальным, особенно в Сети. По этому, чтобы в один прекрасный день не получить на своем ресурсе такую картинку нужно уметь проверять на предмет уязвимостей себя самого.

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

У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.

В злых целях знания использовать не буду!
Total votes 189: ↑174 and ↓15 +159
Comments 43

JavaScript F.A.Q: Часть 2

Reading time 14 min
Views 76K
image

Около 2-х месяцев назад я и TheShock собирали вопросы по JavaScript в теме FAQ по JavaScript: задавайте вопросы. Первая часть, те вопросы, которые достались мне, появилась буквально через несколько дней JavaScript F.A.Q: Часть 1, а вот вторая часть все не выходит и не выходит. TheShock сейчас переезжает в другую страну и поэтому ему не до ответов. Он попросил меня ответить на его часть. Итак вторая часть ответов — те вопросы, которые достались тоже мне.
Читать дальше →
Total votes 185: ↑180 and ↓5 +175
Comments 100

Почтовые рассылки на базе DIVной верстки: это возможно!

Reading time 4 min
Views 4.2K
Тема почтовых рассылок на хабре поднималась буквально недавно, но там не освещался один важдый момент: как обеспечить редактируемость контента этой рассылки после красивой и аккуратной верстки.

Ведь если сверстано на таблицах, с пустыми gif'ами для отступов — результат «монолитный», но не дай бог такое редактировать контент-менеджеру. Моментально всё поедет, да и не умеют нормально визивиги работать с таким ужасом.

Так можно ли подготовить нормальную, дивную верстку, которая легко поддерживается, удобно собирается в рассылках из частей, может редактироваться из визивига, и при этом будет хорошо смотреться в почте?
Читать дальше →
Total votes 54: ↑48 and ↓6 +42
Comments 16

10 способов улучшить свои навыки программирования

Reading time 4 min
Views 87K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Total votes 239: ↑227 and ↓12 +215
Comments 96

Создание приложений реального времени с помощью Server-Sent Events

Reading time 7 min
Views 51K
Буквально недавно стало известно, что Firefox 6 получит SSE (уже есть в Opera 10.6+, Chrome, WebKit 5+, iOS Safari 4+, Opera Mobile 10+) так, что поддержка более половины всех браузеров (охват аудитории пользователей) уже не за горами. Настало время присмотреться к этой технологии. SSE предложил Ian Hickson более 7 лет назад, но только год назад она стала появляться в браузерах. У нас же есть WebSockets зачем нам ещё один какой-то протокол?! Но во всем есть свои плюсы и минусы, давайте посмотрим чем же SSE может быть полезен.

Идея SSE проста — клиент подписывается на события сервера и как только происходит событие — клиент сразу же получает уведомление и некоторые данные, связанные с этим событием. Чтобы понять полезность протокола SSE необходимо сравнить его с привычными методами получения событий, вкратце объясню их суть:
Читать дальше →
Total votes 87: ↑85 and ↓2 +83
Comments 55

Защита пароля при передаче по открытому каналу (часть 1)

Reading time 2 min
Views 37K
Использование https при аутентификации уже давно стало правилом хорошего тона. Однако, необходимость покупки сертификата приводит к тому, что многие владельцы web-ресурсов по прежнему используют для аутентификации открытый канал и ваши пароли доступа могут быть перехвачены злоумышленником, имеющим доступ к сети, в которой вы работаете. Следует отметить, что использование https в общем случае не гарантирует защиты от перехвата передаваемого трафика. На сегодняшний день существуют решения, основанные на использовании специальных прокси и доменных политик, позволяющие успешно читать https трафик в корпоративных сетях. Далее о том, как все же защитить пароль от перехвата.
Читать дальше →
Total votes 49: ↑39 and ↓10 +29
Comments 69

Окулографические исследования: что может рассказать взгляд

Reading time 8 min
Views 22K
imageОт переводчика. Методики окулометрического тестирования(айтрекинга) в последнее время получили широкое распространение в сфере юзабилити. Публикуя перевод статьи французских исследователей-юзабилистов Тьерри Буйо и Софи Рэдесдорф, мы приглашаем наших читателей к обсуждению проблем визуального восприятия интерфейсов. Какие элементы интерфейса привлекают внимание пользователей? Как связаны визуальная привлекательность и функциональность? Насколько важен учет психологических особенностей человеческого восприятия при разработке интерфейсов приложений и сайтов?
Разговор об айтрекинге невозможен и без обсуждения важных методологических вопросов. С помощью окулографа можно с высокой точностью представить траекторию движения взгляда, зафиксировать зоны повышенного внимания, но может ли это хоть что-то рассказать о том, как испытуемые интерпретируют видимое? Мысли и чувства пользователей невозможно зафиксировать с помощью приборов; результаты исследований смысловой сферы не могут быть подвергнуты экспериментальной проверке. Можно ли (и если можно, то как) выработать такую стратегию исследования человеческого фактора, в которой учет всех субъективных моментов сочетался бы со строгостью методологии и общезначимость результатов?
Мы надеемся, что в обсуждении статьи примут участие представители самых разных областей знания: программисты, дизайнеры, философы, психологи.

Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 29

Что почитать, чтобы повысить свой уровень JavaScript

Reading time 3 min
Views 98K
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Читать дальше →
Total votes 165: ↑161 and ↓4 +157
Comments 31

Ощущения как обратная связь

Reading time 3 min
Views 1.6K
Все мы к чему-то стремимся. Кто-то старается больше успевать и эффективнее работать. Другой следит за своими расходами и оптимизирует денежные траты. Иной пытается изменить какую-либо привычку — например, стать жаворонком.

Чувство времени

Как правило, нам предлагаются различные методики, что и как следует делать в том или ином случае — записывать план раз в неделю, или каждый день вставать в одно и то же время, а ложиться, когда хочешь спать. А вот проверке правильности выполнения действий не всегда уделяется должное внимание. Вина то самих людей, невнимательно читающих, или же формулировок в книгах и руководствах, не сильно важно. Важно то, что в результате немало людей не достигают целей.

Моя методика простая и основана на ощущениях. Подойдет не всем, но многим. Суть в следующем — вы должны так строить работу над каким-либо аспектом своей жизни, чтобы выработать чувство на данный аспект. К примеру, если работаете с тайм-менеджментом, то должно появится «чувство времени» — позволяющее ощущать, как уходит время, и некую неловкость, когда оно уходит на ненужные дела.

Почему это работает и как появляется, описание внутри.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 7

Список сайтов, которые хранят пароли открытым текстом

Reading time 2 min
Views 8.1K
В это трудно поверить, но около 30% сайтов держат пароли своих пользователей в незащищённом виде. Если кто-то проникнет к ним в систему, то все пароли будут перед ними открытым текстом.

Продвинутым пользователям должно быть обидно, если они генерируют и запоминают 15-символьные пароли, которые так хранятся.
Читать дальше →
Total votes 75: ↑55 and ↓20 +35
Comments 55

Эффективные и неэффективные веб-сайты

Reading time 6 min
Views 17K
Сейчас иметь собственный сайт для многих компаний является не просто модным трендом, а скорее насущной необходимостью. Компании разрабатывают сами или заказывают веб-сайты в большом количестве. При этом многие обращаются к услугам разного рода SEO-специалистов в надежде получить гигантский эффект от сайта.

Но на самом деле мало кто понимает, как и какой именно эффект они собираются получить от сайта. В данном топике я буду рассматривать вопрос эффективности сайтов для «малого и среднего бизнеса»: небольших компаний, которые работают в пределах своего города или региона, и являются продавцами (производителями или реселлерами) какого-либо товара, например радиостанций или снегоходов. Но, в принципе, рассуждения применимы к любому другому виду веб-сайтов, просто область малого и среднего бизнеса мне наиболее близка в силу некоторых причин.

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

Вопрос эффективности уже поднимался на хабре, только там человек рассуждает об эффективности рекламы, а не веб-сайта в целом.
Читать дальше →
Total votes 73: ↑65 and ↓8 +57
Comments 48

http_handlersocket_json_module

Reading time 3 min
Views 1.7K
О назначении модуля можно догодаться из названия. О HandlerSocket говорят много и на разных языках (в основном на японском, английском и последнее время немного на русском).
Модуль NGX_HTTP_HANDLERSOCKET_JSON_MODULE обращается к данным MySQL через протокол HandlerSocket и отдает данные в формате JSON. Область применения AJAX.
Исходники

О конфигурации, особенностях и ограничениях можно почиать ниже.
Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Comments 52

Применение алгоритмов нечеткого поиска в PHP

Reading time 7 min
Views 30K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Total votes 59: ↑56 and ↓3 +53
Comments 22

Information

Rating
890-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Frontend Developer, Chief Technology Officer (CTO)