Pull to refresh
114
18
Глеб Михеев @glebmachine

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

Send message

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

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

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

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

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

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

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

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

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

Reading time6 min
Views82K

Есть много статей на тему знакомства с 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
Comments22

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

Reading time1 min
Views15K
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
Comments97

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

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

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

Задача

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

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

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

Reading time4 min
Views39K

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

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

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

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

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

Reading time14 min
Views76K
image

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

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

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

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

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

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

Reading time4 min
Views88K

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


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

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

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

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

Reading time7 min
Views53K
Буквально недавно стало известно, что 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
Comments55

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http_handlersocket_json_module

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

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

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

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

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

Information

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

Specialization

Frontend Developer, Chief Technology Officer (CTO)