Начиная с F-серии диагностику автомобилей BMW можно производить по Ethernet. Для этого достаточно простого переходника "Ethernet - OBDII", собранного из пяти проводов и одного резистора.
Провода-проводами, но еще нужен протокол, чтобы обеспечивать корректную работу с блоками автомобиля.
Если вы часто ездите на общественном транспорте, то наверняка встречались с такой ситуацией:
Вы приходите на остановку. Написано, что автобус ходит каждые 10 минут. Засекаете время… Наконец, через 11 минут приходит автобус и мысль: почему мне всегда не везёт?
По идее, если автобусы приходят каждые 10 минут, а вы придёте в случайное время, то среднее ожидание должно составлять около 5 минут. Но в действительности автобусы не прибывают точно по расписанию, поэтому вы можете ждать дольше. Оказывается, при некоторых разумных предположениях можно прийти к поразительному выводу:
При ожидании автобуса, который приходит в среднем каждые 10 минут, ваше среднее время ожидания будет 10 минут.
Это то, что иногда называют парадоксом времени ожидания.
Кадр из видео Гейтса, в котором объясняется важность стоящей проблемы
Странно, что на Хабре об этом еще не написал (может быть, тема скользкая?). Но вчера Билл Гейтс в Пекине представил свою разработку последних семи лет. Специальные унитазы, работающие без воды и убивающие все бактерии в человеческих отходах. Гейтс верит, что они помогут ежегодно спасать жизни миллионов людей. По его словам, это одно из самых важных изобретений человечества за последние две сотни лет.
В рамках рабочих задач недавно мною было проведено небольшое исследование на тему целесообразности использования опции prefetchCount при работе с брокером сообщений RabbitMQ.
Хочу поделиться этим материалом в виде слайдов и комментариев к ним.
Тесты проводились на конкретном проекте, но в целом они справедливы для большинства случаев, где обработка сообщений (выполнение задач) занимает хоть сколько-то существенное время (при обработке менее 1000 сообщений в секунду).
* на слайдах вместо слова «подписчик» используется «консумер», в комментариях для единообразия тоже * рассматривается отдельно взятая очередь с пятью консумерами (C1..C5)
RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
В продолжение первого урока по изучению азов RabbitMQ публикую перевод второго урока с официального сайта. Все примеры, как и ранее, на python, но по-прежнему их можно реализовать на большинстве популярных ЯП.
В первой части моей истории про собеседование в Booking.com я рассказал лишь половину, а именно все, что касалось удаленного общения из Москвы. Я остановился на том, что получил письмо от рекрутера с заголовком, который гласил «Interview Invitation To Amsterdam!». Это значило, что скоро мне предстояла поездка в Нидерланды, чтобы лично встретиться с кем-то из компании и пообщаться с глазу на глаз.
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Qt является удобным и гибким средством для создания кросс-платформенного программного обеспечения. Входящий в его состав QML предоставляет полную свободу действий при создании пользовательского интерфейса.
Об удобстве использования связки Qt и QML уже говорилось не раз, поэтому не буду дальше распространяться о плюсах, минусах, а приведу, шаг за шагом, пример простого Qt приложения.