Как стать автором
Обновить
0
0
Владимир @chezka

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

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

Как оптимизировать полосу пропускания в сетях Ethernet

Время на прочтение2 мин
Количество просмотров22K
В блоге 45 Drives вышел достаточно интересный материал Роба МакКвина, который работает в R&D отделе компании. В нем идет речь об оптимизации полосы пропускания. Попробуем разобраться в этой истории и основных моментах, о которых рассказал Роб.

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии10

Vim по полной: Деплой

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

Оглавление


  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

Мне нравится, когда клиент может сразу увидеть результаты моих трудов. Я могу корректировать развитие проекта согласно желаниям заказчика, что сильно спасает от недопонимания. Думаю и клиенты не против быть в курсе, куда уходит бюджет и на каком этапе их проект. Добиться этого достаточно просто, благо есть даже целая методология, называемая «Непрерывной интерграцией», позволяющая в кратчайшие сроки деплоить мелкие изменения, но как сделать, чтобы это было достаточно удобно для программиста? Ведь никому не хочется писать код, а после переключаться в контекст системы деплоя или даже использовать ssh соединение чтобы развернуть мелкие изменения на продакшене (или на dev сервере).

Именно нежелание часто переключать внимание между редактором и системой деплоя побудило меня реализовать плагин, о котором я вам хочу рассказать.
Развернуть
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Эффективное кодирование видео в Linux c Nvidia NVENC: часть 2, дополнительная

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


В первой части я рассказал о кодировании видео в Linux с использованием Nvidia NVENC. Как уже упоминалось ранее, Nvidia для десктопных видеокарт ограничивает количество потоков кодирования до двух сессий на систему. Данная часть посвящена борьбе с этим ограничением.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии20

Мечты об идеальном API или как преодолевались сложности в проекте AdHands

Время на прочтение8 мин
Количество просмотров6K
Пользователи привыкли к принципу одного устройства и одного интерфейса. Этот тренд находит отражение и в бизнесе: многофункциональные корпоративные системы и порталы, единые площадки торговли и закупок, т.д. Онлайн-реклама не осталась в стороне – разрабатываются сервисы, нацеленные на значительную оптимизацию труда рекламодателей и рекламных агентств. И одним из серьёзных технических моментов при создании дашбордов и агрегаторов статистики остаётся работа с API – программным интерфейсом, через который происходит обмен данными между системами. Существует ли API мечты, как его создать и зачем он нужен?


Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии7

«Под капотом» индексов Postgres

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

Капитан Немо у штурвала «Наутилуса»

Индексы — один из самых мощных инструментов в реляционных базах данных. Мы используем их, когда нужно быстро найти какие-то значения, когда объединяем базы данных, когда нужно ускорить работу SQL-операторов и т.д. Но что представляют собой индексы? И как они помогают ускорять поиск по БД? Для ответа на эти вопросы я изучил исходный код PostgreSQL, отследив, как происходит поиск индекса для простого строкового значения. Я ожидал найти сложные алгоритмы и эффективные структуры данных. И нашёл.

Здесь я расскажу о том, как устроены индексы и как они работают. Однако я не ожидал, что в их основе лежит информатика. В понимании подноготной индексов также помогли комментарии в коде, объясняющие не только как работает Postgres, но и почему он так работает.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии21

Детектируем, разбираем, изучаем, паяем и глушим полицейские радары и лидары

Время на прочтение17 мин
Количество просмотров195K
Давным давно, в 1902 году, сидят в кустах трое полицейских (с интервалами в 1 милю), у каждого секундомер и телефон. Проносится мимо первого автомобиль, он тут же засекает время и звонит второму, второй делает математические вычисления и звонит третьему, а тот уже останавливает машину. (пруф)


«Антирадар» в разборе. (Радар-детектор — пассивный приемник сигналов полицейских радаров, предупреждающий водителя о необходимости соблюдать установленный скоростной режим.)

Сегодня речь пойдет о приборах для радиоэлектронной борьбы на наших дорогах.
Пока антирадары и радар-детекторы у нас не запрещены, то РЭБ у нас не ведется, но в некоторых странах война идет по полной. Мы же можем только подготовиться.
Радиоэлектронная борьба (РЭБ) — разновидность вооружённой борьбы, в ходе которой осуществляется воздействие радиоизлучениями (радиопомехами) на радиоэлектронные средства систем управления, связи и разведки противника в целях изменения качества циркулирующей в них военной информации, защита своих систем от аналогичных воздействий, а также изменение условий (свойств среды) распространения радиоволн. Wikipedia
Как противостоять тому, кто пытается снять о вас информацию без вашего ведома и как защитить свои «персональные данные» от несанкционированного съема.

Радары, детекторы радаров, детекторы детекторов радаров. О том, какие бывают, как сделать/распилить самому и то и другое.
(Спасибо интернет-магазину fonarimarket.ru за предоставленное оборудование)
Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии80

Собираем базу людей из открытых данных WhatsApp и VK

Время на прочтение15 мин
Количество просмотров219K
Etan Hunt
кадр из фильма Миссия Невыполнима II

Эта история началась пару месяцев назад, в первый день рождения моего сына. На мой телефон пришло СМС-сообщение с поздравлением и пожеланиями от неизвестного номера. Думаю, если бы это был мой день рождения мне бы хватило наглости отправить в ответ, не совсем культурное, по моему мнению, «Спасибо, а Вы кто?». Однако день рождения не мой, а узнать кто передаёт поздравления было интересно.

Первый успех


Было решено попробовать следующий вариант:
  • Добавить неизвестный номер в адресную книгу телефона;
  • Зайти по очереди в приложения, привязанные к номеру (Viber, WhatsApp);
  • Открыть новый чат с вновь созданным контактом и по фотографии определить отправителя.

Мне повезло и в моём случае в списке контактов Viber рядом с вновь созданным контактом появилась миниатюра фотографии, по которой я, не открывая её целиком, распознал отправителя и удовлетворенный проведенным «расследованием» написал смс с благодарностью за поздравления.

Сразу же за секундным промежутком эйфории от удачного поиска в голове появилась идея перебором по списку номеров мобильных операторов составить базу [номер_телефона => фото]. А еще через секунду идея пропустить эти фотографии через систему распознавания лиц и связать с другими открытыми данными, например, фотографиями из социальных сетей.
Далее перебор аккаунтов WhatsApp и VK по Москве и Ненецкому АО и распознание лиц
Всего голосов 128: ↑127 и ↓1+126
Комментарии34

Использование возможностей git-а в системе сборки модульного проекта

Время на прочтение6 мин
Количество просмотров13K
В нашем блоге мы уже рассказывали о принципах организации репозитория большого проекта как совокупности независимых модулей, что позволяет организовать извлечение исходных кодов в произвольную файловую структуру рабочей копии. Разумеется, такой подход не мог не отразиться на системе сборки проекта, поскольку потребовал создание механизма отслеживания зависимостей между модулями с учетом их фактического размещения. Эта статья посвящена тому, как можно использовать возможности git-а для решения не только этой задачи, но и для извлечения фрагмента проекта с автоматическим учетом внутренних межмодульных зависимостей.


Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии4

Дизайн простоты: Как делать эффективные plain-text письма

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


Часто при создании почтовой рассылки компании прибегают к разработке сложных шаблонов, требующих знания различных технологий верстки. Однако эффективным инструментом, приводящим к высокой конверсии, могут быть и письма, не содержащие ничего, кроме текста. Сегодня мы поговорим о том, как этого добиться.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Самодельный блок управления для дизельного двигателя

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


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

Именно о таких обстоятельствах и о дизельном двигателе и пойдет речь.

Итак, постановка задачи:

Дано:
  • Дизельный двигатель с механическим насосом DW8, производства концерна PSA, 2000 г.в. Насос издох от времени.
  • Новый топливный насос, приобретенный по случаю, с электронным управлением опережения впрыска от модификации мотора DW8B (Те самые обстоятельства).
  • Полное отсутствие проводки под электронное управление, самого блока управления.
  • Желание разобраться с нехитрой электроникой насоса, поднять навык, поглубже изучить работу таких насосов.

Требуется: исправный двигатель после «сращения».
Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии40

Тонкости SMO. Не удивляйтесь что у вас нет социального траффика

Время на прочтение4 мин
Количество просмотров37K
80% владельцев сайтов уверены, что их ресурсы оптимизированы под социальные сети. Как бы не так. Вот мы и разберемся где собака зарыта и в чем природа этого заблуждения.

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

Так вот с чем мы столкнулись и что поняли.

С одной стороны есть сайт с хорошим контентом, посещаемостью, дизайном, социальные кнопки стоят, комменты, а траффика социального – кот наплакал. И его не будет.

image

А знаете почему?

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

Это с моей точки зрения вполне объяснимо. Кто до недавнего времени был основным поставщиком траффика на любой сайт? Конечно поисковики. И в голову многих вебмастеров вбит стандарт подачи контента под поисковые машины. Ну вы сами их знаете.

Однако социальные сети расправили плечи, набрали огромную аудиторию и стали источником неплохого траффика. И стандарты подачи информации здесь совсем другие. Потому что люди далеко не роботы, ими не движет анализ и алгоритмы. Людьми движут эмоции.

Но давайте по порядку:

Итак, как мыслит вебмастер, например контентного сайта? Ага, я написал хорошую статью, все по SEO правильно, у меня на сайте есть социальные кнопки в начале (это хороший тон) и в конце статьи (что тоже неплохо). Посетитель прочитает, нажмет соцкнопку, зарепостит статью себе на стену и вот он социальный траффик у меня в кармане. Это работает, но слабо.

Почему? Потому что вебмастер думает как все. Хотите больше социального траффика – думайте иначе. Думайте на шаг вперед.

Пытайтесь заинтересовать не столько ваших посетителей сколько их друзей в социальных сетях. Ведь именно их вы хотите привлечь на свой сайт с помощью SMO.
Читать дальше →
Всего голосов 54: ↑39 и ↓15+24
Комментарии18

Пентагон тестирует операционную систему для управления армией роботов

Время на прочтение2 мин
Количество просмотров3.9K
Беспилотные аппараты в воздухе, на земле и под водой — одно из приоритетных направлений развития американской армии. Как только использование роботов приобрело массовый характер, военные столкнулись с проблемой: множество устройств от разных производителей имеет несовместимые интерфейсы и органы управления. Беспилотникам и роботам трудно действовать согласовано, а их операторам приходится переучиваться каждый раз, когда надо управлять другой моделью.

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


Читать дальше →
Всего голосов 62: ↑58 и ↓4+54
Комментарии94

Статистика по продавцам Яндекс Маркет

Время на прочтение3 мин
Количество просмотров12K
Здравствуйте хабражители!

Статистический анализ Вконтакте, приведенный в одном из недавних топиков, сподвиг меня выложить некоторые результаты своего исследования аккаунтов продавцов на Яндекс.Маркете.

В процессе сбора статистики было проанализировано 21052 аккаунта, зарегистрированных по состоянию на 4 июля 2011 года. И вот результаты проделанной работы.
Осторожно, трафик.
Читать дальше →
Всего голосов 67: ↑53 и ↓14+39
Комментарии41

Как я нанимаю программистов

Время на прочтение2 мин
Количество просмотров24K
Захожу на гитхаб, ищу репозитории проектов, сходные по профилю с теми, для которых мы ищем программистов.
Просматриваю issues, выбираю подходящие — такие, для которых не потребуется слишком много времени (идеально — вечер) и для которых потребуется разобраться в самом проекте.

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

По pull request'у сразу видно как соискатель умеет разбираться в чужом коде и как он пишет код. Я не даю классических тестовых заданий — это убийство времени в никуда, этот код будет выброшен, он не поможет никому решить какую-либо задачу.
Читать дальше →
Всего голосов 312: ↑254 и ↓58+196
Комментарии125

Семь вещей, которые полезно знать о программистах

Время на прочтение5 мин
Количество просмотров96K
Как-то знакомый преподаватель английского языка рассказал, что вчера был на вечеринке и услышал анекдот:

— Ложась спать программист ставит рядом на столик 2 стакана.
— Один с водой — если захочет пить, второй пустой — если не захочет.

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

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

Disclaimer. Сейчас программистов много. Хороших и разных. Я буду писать про хороших. И то, не про всех, а про большую часть из тех, с кем имел честь вместе разрабатывать ПО.
Читать дальше →
Всего голосов 355: ↑220 и ↓135+85
Комментарии159

Счет на оплату. Рабочее приложение на sails.js, ractive.js, Backbone.js

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


Доброго дня, на выходных от скуки и отсутствия работы решил себя развлечь написанием небольшого приложения, которое сгодится в качестве учебного метариала для изучения возможностей двух замечательных библиотек — ractive.js и sails.js

Постановка задачи

По работе часто приходится после выполенения очередного задания (я — фрилансер) выставлять заказчику счет на оплату услуг. Тем более если имеешь дело с юридическими лицами. Для этого я использовал простой html-шаблон, в который данные заносил руками, исправляя очередные …

Выглядит примерно так
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии13

История шашек (в иллюстрациях)

Время на прочтение14 мин
Количество просмотров39K
image         — Эволюция? — оживился Главный. — Что-то новенькое?

         — Французская выдумка. Я в этом пробовал разобраться. Если, к примеру, взять дождевого червя и вместо него сразу подсунуть африканского носорога, то все увидят, что их надули. Но если тот же фокус растянуть надолго, то никто и не заметит.

        В этом вся штука: кто видел червяка — все давно повымерли, а кому встретился носорог — тому некогда рассуждать о всяких пустяках.

        Евгений Чемеревский "Вариации на тему черепахи"


Так всегда бывает, когда чем то интересуешься. Чем больше узнаешь, тем больше появляется возможностей узнать что то новенькое. Потом нескончаемый поток этого самого новенького захлестывает тебя с головой, и ты начинаешь тонуть. Но пока это не произошло — жизнь прекрасна.

Я хочу рассказать о том, с чем знакомы почти все. О том, чем мало кто интересуется. О том, о чем никто практически ничего не знает. Я хочу рассказать о Шашках. Не спешите ухмыляться. Если вы думаете, что знаете о Шашках все, ответьте (для себя) на несколько простых вопросов:

  • Какие разновидности Шашек существуют?
  • Чем отличаются Шашки от Шахмат?
  • Что общего у Шашек и «Крестиков-ноликов»?

Эти вопросы кажутся вам глупыми? Это нормально, мне тоже казались… пока я не заинтересовался историей Шашек
Читать дальше →
Всего голосов 82: ↑81 и ↓1+80
Комментарии24

Базы данных в онлайн-играх. От Аллодов Онлайн до Skyforge

Время на прочтение7 мин
Количество просмотров159K
Когда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.

Меня зовут Андрей Фролов. Я ведущий программист Allods Team и работаю в команде сервера. Мой опыт разработки — почти 10 лет, но в игры я попал только в октябре 2009. В коллективе я уже больше трёх лет, с марта 2010. Начинал работу на Аллодах Онлайн, а сейчас на Skyforge. Занимаюсь всем, что так или иначе связано с сервером Skyforge и базами данных. В этой статье я расскажу о базах данных в онлайн-играх на примере Аллодов и Skyforge.



Читать дальше →
Всего голосов 203: ↑193 и ↓10+183
Комментарии169

Архитектура сервера онлайн-игры на примере Skyforge

Время на прочтение12 мин
Количество просмотров191K
Привет, Хабр! Я Андрей Фролов, ведущий программист, работаю в Mail.Ru над Next-Gen MMORPG Skyforge. Вы могли читать мою статью про архитектуру баз данных в онлайн-играх. Сегодня я буду раскрывать секреты, касающиеся устройства сервера Skyforge. Постараюсь рассказать максимально подробно, с примерами, а также объясню, почему было принято то или иное архитектурное решение. По нашему серверу без преувеличения можно написать целую книгу, поэтому для того, чтобы уложиться в статью, мне придется пройтись только по основным моментам.

image

Читать дальше →
Всего голосов 141: ↑127 и ↓14+113
Комментарии179

[видео] Как поставить человека на место: 10 реальных вопросов про давление в переговорах

Время на прочтение2 мин
Количество просмотров229K
Видео про 8 способов противостояния формуле нужды оказалось неожиданно популярным, набрав 8,000 просмотров за два дня. Мы решили продолжить тему.

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

Мы отобрали 10 самых любопытных, на наш взгляд, вопросов в этой теме и снова заперли в студии Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП и нашего хорошего друга, чтобы он рассказал, что конкретно делать:



10 реальных ситуаций, которые удалось осветить — под катом:

Читать дальше →
Всего голосов 157: ↑138 и ↓19+119
Комментарии62

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность