Как стать автором
Обновить
13
0
Дмитрий @drunken

Пользователь

Отправить сообщение

Был получен несанкционированный доступ к более чем 20 000 камерам видео-наблюдения Москвы (теперь вы тоже)

Время на прочтение5 мин
Количество просмотров252K
Привет, Хабрахабр! Наверняка многие из вас помнят легендарный пост «Были получены исходники 3300 глобальных интернет-проектов», который долгое время был первым в рейтинге всех публикаций на сайте. Несмотря на схожий заголовок у моего поста, не претендую на первое место, но считаю, что вам стоит обратить внимание.


Читать дальше →
Всего голосов 325: ↑317 и ↓8+309
Комментарии228

Проблема PID 1 zombie reaping в Докере

Время на прочтение8 мин
Количество просмотров21K
Привет, Хабр!
Мы в Хекслете активно используем Докер как для запуска самого приложения и сопутствующих серверов, так и для запуска пользовательского кода в практических упражнениях по программированию. Без этих легковесных контейнеров нам было бы в разы сложнее справиться с этими задачами. Докер –замечательная технология, но иногда возникают неожиданные проблемы. Одна из таких проблем (и ее решение) описана в блоге Phusion (это создатели Phusion Passenger), сегодня мы публикуем ее перевод.


Примерно год назад, когда Докер был в версии 0.6, мы первыми представили Baseimage-docker. Это минимальный образ Ubuntu, модифицированный специально для Докера. Люди могут пуллить этот базовый образ из Docker Registry и использовать его как основу для своих образов.

Мы были ранними пользователям Докера, используя его для CI и для создания рабочего окружения задолго до выхода версии 1.0. Базовый образ мы сделали чтобы решить проблемы, специфичные для принципов работы Докера. Например, Докер не запускает процессы под специальным процессом init, который бы правильно обрабатывал дочерние процессы, поэтому возможна такая ситуация, когда зомби-процессы вызывают кучу проблем. Докер также не делает ничего с syslog, поэтому важные сообщения могут быть утеряны. И так далее.

Однако, мы выяснили, что многие люди не понимают проблем, с которыми мы столкнулись. Да, это довольно низкоуровневые системные механизмы Unix, которые понятны далеко не всем. Поэтому в этом посте мы опишем самую главную проблему, которую мы решаем – PID 1 zombie reaping problem.


Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии9

Потрясающая коллекция бесплатных шрифтов за 2014 год

Время на прочтение1 мин
Количество просмотров123K
Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

Polar



Polar

Читать дальше →
Всего голосов 76: ↑68 и ↓8+60
Комментарии23

Почему OpenVPN тормозит?

Время на прочтение3 мин
Количество просмотров184K
Описанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.

Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!

Немного истории

На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Читать дальше →
Всего голосов 90: ↑89 и ↓1+88
Комментарии61

CloudFlare + nginx = кешируем всё на бесплатном плане

Время на прочтение2 мин
Количество просмотров57K

В бесплатной версии Cloudflare все замечательно (ей-богу сказка!), но список кешируемых форматов файлов весьма ограничен.
К счастью кеширование всего подряд (до 512 Мб на файл) можно настроить в одно два действия.

Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии6

Вместе веселей: python + flask + google app engine

Время на прочтение6 мин
Количество просмотров28K
Предыстория: я, как и многие на Хабрахабре, чертовски люблю слушать музыку. Чаще всего делаю это в ВКонтакте. Иногда уже сфомированный плейлист надоедает — хочется чего-нибудь нового; но так, чтобы не сильно отличалось от того, что уже есть. Для этого на всех сервисах, предоставляющих возможность прослушивания музыки, существуют рекомендации. Признаюсь честно, рекомендации в ВКонтакте меня ужасают. Может кому-то нравится, но у меня тамошний подбор вызывает желание закрыть браузер (ИМХО, конечно). В общем, решил я эту ситуацию для себя исправить и реализовать свои собственные рекомендации с использованием API ВКонтакте и Last.fm. Так как я много слышал и читал про Google App Engine, но никогда его не использовал, решено было приобщиться к этой платформе.

Сразу скажу, что тонкости взаимодействия с API или алгоритм подбора рекомендаций здесь я описывать не буду. Об этом — в следующих статьях, может быть. В данной статье описан только процесс создания, настройки и деплоя приложения на платформе Google App Engine с использованием python и flask.
Об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии18

SIVIS — компактный видеостример с HDMI камер в интернет

Время на прочтение6 мин
Количество просмотров31K
Мы обычно делаем всякие подвижные штуки на нашей виртурилке и ориентированы на гиков, но внезапно решили попробовать сделать продукт для конечного пользователя. Сейчас мы расскажем о нем чуть подробнее.



Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии59

Лучшие плагины для Sublime Text

Время на прочтение5 мин
Количество просмотров641K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Всего голосов 116: ↑114 и ↓2+112
Комментарии101

Как просто написать распределенный веб-сервис на Python + AMQP

Время на прочтение7 мин
Количество просмотров29K
Привет, Хабр. Я уже довольно давно пишу на Python. Недавно пришлось разбираться с RabbitMQ. Мне понравилось. Потому что он без всяких проблем (понятно, что с некоторыми тонкостями) собирается в кластер. Тут я подумал: а неплохо бы его использовать в качестве очереди сообщений в кусочке API проекта, над которым я работаю. Сам API написан на tornado, основная мысль была в исключении блокирующего кода из API. Все синхронные операции выполнялись в пуле тредов.

Первое, что я решил, это сделать отдельный процесс(ы) «worker», который бы брал на себя всю синхронную работу. Задумал, чтобы «worker» был максимально прост, и делал задачи из очереди одну за другой. Скажем, выбрал из базы что-нибудь, ответил, взял на себя следующую задачу и так далее. Самих «worker»ов можно запустить много и тогда AMQP выступает уже в роли некоего подобия IPC.

Спустя некоторое время из этого вырос модуль, который берет на себя всю рутину связанную с AMQP и передачей сообщений туда и назад, а также сжимает их gzipом, если данных слишком много. Так родился crew. Собственно, используя его, мы с вами напишем простой API, который будет состоять из сервера на tornado и простых и незамысловатых «worker» процессов. Забегая вперед скажу, что весь код доступен на github, а то, о чем я буду рассказывать дальше, собрано в папке example.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии22

РИТЭГ: прозаичные тепло и электричество для космических аппаратов

Время на прочтение6 мин
Количество просмотров113K


Так получилось, что в серии «Мирный космический атом» мы движемся от фантастического к распространенному. В прошлый раз мы поговорили об энергетических реакторах, очевидный следующий шаг — рассказать о радиоизотопных термоэлектрических генераторах. Недавно на Хабре был отличный пост про РИТЭГ зонда «Кассини», а мы рассмотрим эту тему с более широкой точки зрения.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии28

Айтишник на отдыхе: добавим немного астрономии?

Время на прочтение6 мин
Количество просмотров125K

Стремительно приближается лето и сопутствующие ему выезды на природу. Посиделки затягиваются заполночь, и над головой появляются звезды. Но, как правило, зведное небо таинственно и непонятно — астрономию в школах не преподают толком, наверное, уже с конца 80-х, да и кто помнит, чему его учили в школе, если это не использовалось в жизни постоянно? А в небе хватает интересного, особенно если потратить чуть-чуть времени на астрономическое обеспечение выезда на природу.
Читать дальше →
Всего голосов 107: ↑104 и ↓3+101
Комментарии81

Доброе утро

Время на прочтение2 мин
Количество просмотров5.6K
Высокочастотный писк жутчайшим образом резонировал с черепной коробкой Миши, звуковые волны будто въедались в мозг с целью его тотального уничтожения. Наконец система биоконтроля зафиксировала нормализацию мозговых волн и прекратила звуковую пытку. Команда маркетологов с размахом подошла к рекламной компании биоритмической коррекции, и коррекция эта даже действительно давала положительный результат, но именно сейчас Михаил мысленно покрывал знатными матюками маркетологов, да и вообще всех сотрудников СоцБиоКорр — не самой лучшей идеей было отказаться от продления лицензии на прослушивание будильных мелодий в пользу коррекции биоритмов.
Читать дальше →
Всего голосов 36: ↑23 и ↓13+10
Комментарии21

Расширенный «Hello! World» на микрофреймворке Flask

Время на прочтение5 мин
Количество просмотров8K
image

Добрый день, хабраюзер.

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

Мы используем Python, в частности микрофреймворк Flask.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии7

Работа в Google: Ложка дегтя

Время на прочтение5 мин
Количество просмотров285K
image

Disclaimer: Я работаю в Google на позиции инженера уже почти 4 года.

По тому, что я пишу про Google, может создаться впечатление, что работа в Google – это предел мечтаний, идеальное место для работы, куда стоит стремиться попасть любой ценой. Google реально очень хорошая компания для программистов, даже отличная. Но идеалов не бывает, и у нее тоже есть некоторые минусы. О них сегодня и пойдет речь.

Думаю, все ниже написанное почти в полной мере справедливо и для других похожих компаний. Поэтому я буду писать “компания” вместо Google. Не ручаюсь, но подозреваю (и подозрения подтверждаются большим количеством знакомых), что примерно то же самое можно сказать и о Microsoft, и о Facebook, и об Amazon, и о других приличных больших компаниях.
Читать дальше →
Всего голосов 251: ↑218 и ↓33+185
Комментарии182

Опыт использования LG Nexus 4 (16 Gb) «по горячим следам»

Время на прочтение8 мин
Количество просмотров97K
Nexus 4 был куплен в качестве подарка, но понравился самому. До этого вместо смартфона использовал связку: неубиваемый телефон (Samsung, зарядка раз в месяц) + IPad3 3G. Андроидом никогда не пользовался, только «брал попробовать». Написать статью сразу после покупки решил, так как понял, что со временем впечатления «смоются» и все забуду — и что бесило, и что радовало. Тут многие на Хабре жалуются, что обзоры «формальные» и интересует именно личное впечатление. Держите! :)

Краткое резюме по телефону: сожалений нет, Nexus 4 — отличный выбор за свои деньги.

Читать дальше →
Всего голосов 35: ↑19 и ↓16+3
Комментарии34

Смотрим MKV на Apple TV из Plex

Время на прочтение5 мин
Количество просмотров217K
Всем привет!

Продолжая цикл Apple-related статей, сегодня хочу поделиться удивительным способом, как можно заставить приставку Apple TV полюбить распространённую ныне матрёшку (MKV) и предоставить ей возможность комфортабельного воспроизведения на большом экране.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии38

Нужны ли программисту бесплатные *люшки (версия 2023)

Время на прочтение5 мин
Количество просмотров204K
Я хочу рассказать вам историю, которая, скорее всего, случится в 2023 году в калифорнийском офисе разработки одной крупной ИТ-компании FAC***GLE. Я думаю, история поможет посмотреть на реальность, окружающую программистов, с новой точки зрения.

Часть первая. Внутри офиса

Шон, ведущий программист проекта повышения лояльности, удобно полулежал в своем индивидуально настроенном кресле, которое выполняло особую весеннюю программу стимуляции мышечного корсета — Шон намеревался подкачать кубики пресса перед летними каникулами.
Приятное щекотание стимулятора дополнялось звучанием специально подобранной аранжировки Тома Уэйтса, который, как определил мозговой имплантат, максимально соответствовал его потоку сознания и обеспечивал наилучшую производительность.

Усики сканера альфа-активности приятно поглаживали виски и Шон чувствовал, что его, как и всегда, «прет»… О, это ощущение демиурга, когда ты видишь воплощение своих строчек кода в чудесных элементах виртуальной реальности.
Шон не зря был ведущим разработчиком — его показатель количества безошибочных строк в день на 4% превышал средний уровень по корпорации, и это в положительную сторону отражалось на зарплатных чеках и разнообразных бонусах.
Компания исключительно хорошо заботилась о своих программистах, которые, в свою очередь, не жалели сил и энергии на самую качественную разработку.
Читать дальше →
Всего голосов 367: ↑307 и ↓60+247
Комментарии115

Покупаем на taobao.com

Время на прочтение6 мин
Количество просмотров81K
Я оставил в России много настольных игр, везти их с собой во Вьетнам смысла не видел. Надеялся, что можно будет что-то купить на месте. Облом-с, тут про настольные игры мало чего слышали, никаких магазинчиков специализированных нет. Выход был найден — рядом Китай, с огромным ассортиментом и относительно небольшими ценами. Сейчас я вам расскажу, на примере закупки настольных игр, как можно покупать что-то в Китае.

taobao.com — это китайский ebay, или что-то на него похожее. Большое количество разных магазинов, предоставляющих разного вида товары. Если я все правильно понял — сам taobao это как аггрегатор таких магазинов. Можно найти огромное количество разных товаров: игрушки, техника, одежда, и т.д. и т.п. Разброс цен большой, как всегда для Китая, от очень и очень низких, до обычных европейских. Качество соответственное.

Читать дальше
Всего голосов 43: ↑34 и ↓9+25
Комментарии15

YouTube ради эксперимента предлагает отключить рекламу на сайте

Время на прочтение1 мин
Количество просмотров170K
Компания Google запустила неожиданный эксперимент на сайте YouTube: каждый пользователь может полностью отключить рекламу на сайте, в том числе текстовую рекламу внутри видео. Судя по всему, эксперимент проводят в рамках стандартного A/B-тестирования, компания просто хочет изучить, как посетители работают с сайтом в отсутствии рекламы.

Чтобы принять участие в эксперименте, нужно внести небольшие изменения в куки YouTube.
Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии67

Добавляем WDS универсальности

Время на прочтение6 мин
Количество просмотров141K
Добрый день, уважаемые хабра-жители!

Целью данной статьи является написание небольшого обзора возможностей по развертыванию различных систем через WDS (Windows Deployment Services)
В статье будут приводиться краткие инструкции для развертывания Windows 7 x64, Windows XP x86, Ubuntu x64 и добавление таких полезных инструментов в загрузку по сети как Memtest и Gparted.
История будет рассказывать в порядке приходящих мне в голову идей. И начиналось все с Microsoft…
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность