
Виталик Комлев @vitalikk
Веб-разработчик
Автоматическое оповещение читателей о новостях с помощью ВКонтакте
7 min
40KTutorial
Вторая часть
Те из вас, кто пользуется социальной сетью ВКонтакте и подписан на официальную страничку Хабры в ней, заметили, что все новые топики с главной появляются на страничке в виде сообщений-ссылок:

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

Так вот, если у вас есть свой блог и вы хотите на своей личной страничке публиковать такие же сообщения-ссылки автоматически — топик может быть вам интересен. Сегодня мы попробуем публиковать простые сообщения ссылки, а далее добавлять к ним «превью»-картинки.
+43
Офис компании Boomburum
19 min
411K
Осторожно, трафик! Но можно хотя бы посмотреть картинки )
Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
+512
Как готовить презентации. Мини-курс для программиста
5 min
18K
+60
10 способов стать хорошим программистом
5 min
101KTranslation
Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением.
Даг Линдер
Что приводит программиста на его рабочее место каждый день? Страсть к программированию и получение удовольствия от него. Но чтобы действительно получать удовольствие и радость от программирования, нужно знать некоторые базовые вещи, которые позволят вам стать хорошим программистом.
Я не собираюсь писать мантры, следуя которым, вы станете хорошим специалистом. Моя цель — перечислить те вещи, которые помогли мне добиться успехов в этой профессии. Не существует четкого определения, кто такой хороший программист. Под таковым я подразумеваю человека, который разрабатывает отличные IT-решения и вносит вклад в развитие индустрии.
+168
Честная и защищенная от фальсификаций система голосования — ThreeBallot. Вдруг дождемся?
3 min
4.7KПоскольку у нас впереди выборы, расскажу-ка я о разных технологиях голосования. Конечно, слабо верится, что какие-то из светлых идей могут быть взяты на вооружение в такой демократичной стране, как наша, но лишним, как говорится, не будет.
Сегодня я расскажу об интересной системе голосования, «изобретенной» пять лет назад одним из авторов криптоалгоритма RSA, шифров RC4/RC5 и хэш-функции MD5, Рональдом Ривестом. Называется она Three Ballot Voting System, оригинал публикации на английском можно найти на сайте университета, где трудится Ривест. Чем же она так примечательна?
А тем, что с использованием этой системы избиратель может удостовериться, что его голос учтен, при этом сохраняя полную конфиденциальность. То есть, голосование выходит, с одной стороны, тайным, с другой — проверяемым на учет своего голоса самим избирателем.
Сегодня я расскажу об интересной системе голосования, «изобретенной» пять лет назад одним из авторов криптоалгоритма RSA, шифров RC4/RC5 и хэш-функции MD5, Рональдом Ривестом. Называется она Three Ballot Voting System, оригинал публикации на английском можно найти на сайте университета, где трудится Ривест. Чем же она так примечательна?
А тем, что с использованием этой системы избиратель может удостовериться, что его голос учтен, при этом сохраняя полную конфиденциальность. То есть, голосование выходит, с одной стороны, тайным, с другой — проверяемым на учет своего голоса самим избирателем.
+73
Почему реклама не работает или хватит выбрасывать деньги на ветер
14 min
30KРекламные кампании проваливаются.
Это случается настолько часто, что истории успеха носят скорее характер исключения, чем правила, если говорить не о крупнейших брендах, а в целом о ситуации по цеху.
Рекламодатели разочаровываются, урезают бюджеты на рекламу, но продолжают ее заказывать, так как не видят другого способа продвижения своего товара. При этом почему-то крайне редко можно встретить серьезный анализ причин провала кампании и действительно продуманный подход к следующей. И здесь ответственность лежит как на рекламодателях, так и на рекламистах.
Последних можно — нет, не оправдать, но хотя бы понять — кто-то просто «не-очень-специалист» и не знает, как сделать правильно, а кто-то уже не в силах доказывать заказчику свою правоту и соглашается на любые компромиссы, чтобы не лишиться заработка. Рекламодателей же понять сложнее: они вкладывают большие деньги, тратят еще более драгоценное время, чтобы в итоге получить механизм, который не работает!
Давайте разбираться, что же идет «не так» и что нужно делать, чтобы все-таки желаемый результат был достигнут.
Это случается настолько часто, что истории успеха носят скорее характер исключения, чем правила, если говорить не о крупнейших брендах, а в целом о ситуации по цеху.
Рекламодатели разочаровываются, урезают бюджеты на рекламу, но продолжают ее заказывать, так как не видят другого способа продвижения своего товара. При этом почему-то крайне редко можно встретить серьезный анализ причин провала кампании и действительно продуманный подход к следующей. И здесь ответственность лежит как на рекламодателях, так и на рекламистах.
Последних можно — нет, не оправдать, но хотя бы понять — кто-то просто «не-очень-специалист» и не знает, как сделать правильно, а кто-то уже не в силах доказывать заказчику свою правоту и соглашается на любые компромиссы, чтобы не лишиться заработка. Рекламодателей же понять сложнее: они вкладывают большие деньги, тратят еще более драгоценное время, чтобы в итоге получить механизм, который не работает!
Давайте разбираться, что же идет «не так» и что нужно делать, чтобы все-таки желаемый результат был достигнут.
+32
Как правильно оформить статью?
5 min
8.7KЕсли вы ведете блог, то, возможно, вам знакомо чувство, когда взлелеянную, родившуюся в тяжелом труде статью никто не читает. И вы не можете понять причины. Кажется, и тема выбрана правильно. И стиль подобран адекватно. И слова использованы именно те, которые нужно! Статья написана интересно, и, бесспорно, должна быть полезной значительной части вашей ключевой аудитории…

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

Вы готовы воспринять это и адекватно отнестись, если сами чувствуете, где совершили ошибку, а где откровенно схалтурили. Знаете, что статья не дотягивает до уровня ваших привычных публикаций. Но если все сделано вроде бы правильно — можно попасть даже в глубокую депрессию из-за непонимания причин такого провала. Я промолчу о том, что мотивация к дальнейшему ведению блога испаряется пропорционально количеству таких «незамеченных» публикаций.
+69
Психологическая деформация программистов. Взгляд с обеих сторон баррикад
6 min
138K
Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.
+411
+48
Выжать все соки или используем Raspberry pi на всю катушку
11 min
265KTutorial
Всем привет!
Долой унылые речи о том, что это мой первый пост и все такое. Пожалуй лучше я расскажу о том, как выжать все соки из маленькой малютки под названием Raspberry PI (далее RPI), ценой $ 35. Я уверен на 146,6% что здесь уже были посты подобного рода, и этот пост не претендует на твердую пять. Скорее это просто вступительное слово о том: «Как я занял себя делом на пару унылых вечеров». Собственно мы получим в итоге Raspberry PI который можно использовать:
Для тех кому стало интересно прошу под кат (Внимание! Трафик).
Долой унылые речи о том, что это мой первый пост и все такое. Пожалуй лучше я расскажу о том, как выжать все соки из маленькой малютки под названием Raspberry PI (далее RPI), ценой $ 35. Я уверен на 146,6% что здесь уже были посты подобного рода, и этот пост не претендует на твердую пять. Скорее это просто вступительное слово о том: «Как я занял себя делом на пару унылых вечеров». Собственно мы получим в итоге Raspberry PI который можно использовать:
- как домашний web-сервер (если ты какой-нибудь PHP-разработчик, и тебе не чуждо веселье);
- как мультимедийную приставку с популярным XBMC Media Center (
или супер-пупер-крутую-шняжкук телевизору за скромные 1800$); - и как ночную торрент качалку, с web-интерфейсом (для ленивых);
Для тех кому стало интересно прошу под кат (Внимание! Трафик).
+40
250 строк кода, распознающих дату на русском языке
2 min
47KОколо года назад мне понадобилось распознавать даты в тексте, который вводят пользователи. Пришлось немного разобраться в регулярных выражениях и написать функцию, на вход которой поступает текстовая строка, а в результате получается распознанная дата.

Пример и код в jsFiddle.

Пример и код в jsFiddle.
+110
60 FPS? Легко! pointer-events:none!
2 min
99KTutorial
Translation

Вы, наверное, уже читали интересную статью о том, как можно отключать эффекты
:hover
при скроле – это позволяет здорово сохранить отзывчивость сайта, но имеет один недостаток – вам приходится опираться на один общий класс, и это плохо..hover .element:hover {
box-shadow: 1px 1px 1px #000;
}
+132
Почему 98% текстов на ваших сайтах не работают. Вообще. И как это починить
7 min
285K
Вот так люди видят вашу страницу
Привет!
Проблема вот в чём. Если зайти на практически любой сайт интернет-магазина или компании с услугами, вы встретите контент. Точнее — отвратительные тексты, которые писали, кажется, маркетологи, воспитанные сеошниками.
Разумеется, можно не делать, как они. Если работать по-умному, то вы поможете и читателям по жизни, и себе в продажах.
По моим примерным подсчётам (усреднение с ряда позиций), конверсии для нас выглядят так:
- Только название и картинка — около 1,5%.
- С описанием от производителя — чуть более 2%.
- С описанием человека, который держал это в руках и знает правила — около 6%.
Ниже — рассказ про то, как мы доводили время на сайте от 3 минут сначала до 6:40, а потом до 20:48. Да-да, двадцати минут сорока восьми секунд для среднего посетителя. Честного среднего, с учётом отказов и по полной выборке.
+270
Мелитополь — стратосфера — Тихоновка
4 min
97KВсе началось с того, что нашему боевому товарищу Юре стукнуло 26 лет. Нормальные люди в такой ситуации подарили бы какую-нибудь висюльку с бантиком, откушали тортика и на том попрощались бы. Мы же решили в честь торжественной даты запустить в небо рукотворный стратостат. А чтоб он зря в небе не болтался, прицепили к нему две камеры.


+100
Советы по использованию media query
4 min
139KВступление
В статье я собрал советы по использованию media query. Расскажу, как можно более эффективно использовать media query. В конце статьи есть список использованных источников.
- Внешнее подключение media query
- Больше чем просто размер viewport
- Не только смартфоны
- Инструмент для работы с media query
- Выделяйте специфичное
- Breakpoints когда и сколько?
- Второстепенные breakpoints
- Относительные единицы измерения
- Условная загрузка
- Список использованных ресурсов
+34
Распределенный музыкальный плейер на Raspberry Pi
7 min
97K
Давно собирался написать этот пост, но прогресс шел медленно. К ускорению темпа подтолкнул этот вопрос, где я имел неосторожность обмолвиться, что пишу такой пост, в результате чего он вызвал живой интерес, поэтому мне ничего не оставалось делать, как выполнять данное обещание, за что выражаю отдельную благодарность автору вопроса M03G, с чьей подачи и был получен мной этот ускоряющий пендель. А так как пост, похоже, увидит свет в пятницу, я позволил себе довольно вольный (извините, вышел каламбур невольный) стиль изложения. Надеюсь, все останутся довольны.
(Да, пост во многом пересекается с постом Распределенный аудиоплеер на Odroid U2, но чуть проще в настройке)
+102
Распределенный аудиоплеер на Odroid U2
5 min
61K
Однажды я заметил, что довольно много времени я провожу на кухне, куда звук от колонок, расположенных в комнате доходит плохо. И тогда мне захотелось сделать хороший бесшумный плеер, способный синхронно воспроизводить музыку в нескольких комнатах. Конечно проблему можно было решить простым поворотом регулятора громкости, но этот способ был отброшен как негуманный по отношению к соседям. Другой важный момент заключался в том, что я хотел использовать те же колонки для вывода звука с компьютера. Зачем мне иметь несколько комплектов аккустики в одной комнате?
Пост получился довольно длиннный, так как я старался уделить внимание соображениям, по которым я выбирал то или иное решение.
+69
Автоматические жалюзи на Arduino
3 min
153K
Идея автоматизации жалюзи зародилась в моей голове достаточно давно. Особенно сильно этому способствовало специфичное расположение окон моей комнаты: после обеда в мои окна бьет яркий солнечный свет, мешающий работе за компьютером и отбивающий всяческое желание заниматься продуктивной деятельностью. В тоже время, находиться в комнате с закрытыми створками жалюзи удовольствие, на мой взгляд, сомнительное. Мне хотелось получить систему, позволяющую автоматически менять угол поворота створок, в зависимости от интенсивности солнечного света, а так же обладающую возможностью ручного управления с дистанционного пульта.
+91
Правительство США предало интернет. Нам надо вернуть его в свои руки
4 min
83KTranslation

Неделю назад я перевёл статью Лионеля Дрико "Первая мировая гражданская война" из блога Рикарда Фальквинге, основателя Пиратской партии Швеции, статью эмоциональную и, возможно, слишком резкую. В отличие от пламенных пропагандистов Пиратской партии, Брюс Шнайер всегда был более сдержан и спокоен в оценках, как и подобает авторитетному инженеру и учёному. Но сейчас, похоже, терпение кончилось и у него.
Правительство и крупный бизнес предали интернет и нас с вами.
Извратив интернет на всех его уровнях, превратив его в инструмент тотальной слежки, АНБ нарушило фундаментальный общественный договор. Мы больше не можем доверять компаниям, которые создают инфраструктуру интернета и управляют ей, которые создают и продают нам железо и софт, хранят наши данные, мы не верим в то, что они честно служат интернету.
Это не тот интернет, который нужен миру, или который был задуман его создателями. Мы должны вернуть его себе. И говоря «мы», я имею в виду сообщество инженеров и программистов.
Да, в первую очередь это политическая проблема, которая требует политического решения. Но в то же время это и техническая проблема, и есть несколько вещей, которые инженеры могут — и должны — сделать.
+207
Information
- Rating
- Does not participate
- Location
- Харьков, Харьковская обл., Украина
- Date of birth
- Registered
- Activity