• Умная хрущёвка на максималках. Продолжение

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

      • Полную беспроводную автоматизацию всего освещения.
      • Установил кнопку «выключить всё».
      • Сделал возможным полное удаленное обесточивание квартиры (включая и сам сервер управления вместе с контроллером) и обратное удаленное включение.
      • Применил электронакладки (устройства поворота) для кранов на воду.


      Подъездный щит жилого дома с оборудованием для удаленного обесточивания квартиры
      Хрущёвка в полном фарше
    • Дистанционная магистратура за границей: заметки перед диссертацией

        Пролог


        Существует несколько статей, например Как я поступил на дистанционное образование в магистратуру Walden (США), Как поступить в магистратуру в Англии или Дистанционное обучение в Stanford University. Все они обладают одним недостатком: авторы делились ранним опытом обучения или же опытом подготовки. Это безусловно полезно, но оставляет простор для фантазий.

        Я расскажу о том, как происходит получение степени магистра по Software Engineering в University of Liverpool (UoL), насколько это полезно и стоит ли учиться, когда тебе 30 и кажется, что в профессиональном плане все совсем неплохо.

        Данная статья может быть полезна как молодым ребятам, только-только начинающим свой путь в индустрии, так и матерым разработчикам по каким то причинам пропустившим степень или же имеющих степень в учебном заведении, которое недостаточно котируется в мире.
        Читать дальше →
      • OpenDataScience и Mail.Ru Group проведут открытый курс по машинному обучению

          6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.



          Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.

          Читать дальше →
        • Эмуляция влияния глобальных сетей

            В данный блог обычно пишут статьи, где Linux представляется user-friendly, ниже приведенный текст скорее относится к разделу «Linux не для всех» и будет интересен гораздо более узкому кругу хабрачитателей.

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

            Рассмотрим схему, с помощью которой можно смоделировать влияние различных параметров сети передачи данных на исследуемое приложение. Для моделирование очень удобно использовать операционную систему GNU/Linux, в которой существуют все необходимые инструменты.
            Читать дальше →
            • +14
            • 15.4k
            • 4
          • МФТИ запустил первую в России онлайн-магистратуру по технологическому предпринимательству



              Московский физико-технический институт открыл набор в онлайн-магистратуру по технологическому предпринимательству. Это первая программа такого формата, позволяющая получить полный объем знаний по проектированию, разработке и выводу на рынок высокотехнологичных продуктов. О том, чему будут учить в онлайн-магистратуре Физтеха, рассказывает руководитель проекта, научный руководитель Межвузовской программы подготовки инженеров в сфере высоких технологий, заместитель заведующего кафедрой технологического предпринимательства МФТИ-РОСНАНО Вячеслав Чикин.

              Читать дальше →
            • Личный опыт: как мы заказывали рекламу у видеоблогеров для нашей веб-студии



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


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


                Рынок рекламы у блогеров ещё используется мало. Основная часть маркетологов не рассматривает серьезно такую возможность для эффективной рекламы своей компании и никогда не работали с видеоблогерами.


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


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


                В начале марта мы решили попробовать заказать рекламу у блогеров на Youtube.


                Агентства


                Крупных агентств, занимающихся рекламой у блогеров Youtube оказалось не так много:
                Zagency, Wild Jam, Socium, The Players, TAG, Hype Agency и ещё несколько.


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


                Основное преимущество агентства — это высокий уровень креатива и менеджмента.


                Читать дальше →
              • Как работает hashCode() по умолчанию?

                • Translation

                Попытка заглянуть вглубь hashCode() привела к спелеологическому путешествию по исходному коду JVM, с рассмотрением структуры объектов и привязанной блокировки (biased locking), а также удивительных последствий для производительности, связанных с использованием hashCode() по умолчанию.
                Читать дальше →
              • Использование Tarantool в .NET-проекте на Windows

                • Tutorial

                В последнее время на Хабре появляется достаточно много статей про Tarantool — базу данных и сервер приложений, который используется в Mail.Ru Group, Avito, Yota на разных высоконагруженных проектах. И вот, когда в маленьком стартапе, который я иногда консультирую, возникла необходимость разделения прекрасного, но, к сожалению, монолитного приложения на микросервисы, я подумал: а чем мы хуже других компаний? — и решил посмотреть в сторону Tarantool. Однако, в отличие от большинства компаний, где используется Tarantool, в нашем случае разработка проекта ведётся в Visual Studio на Windows. Предполагается, что даже с переходом на микросервисную архитектуру большинство микросервисов будет написано на языке C#. А Tarantool… Стоит зайти на официальный сайт — и сразу понимаешь: Tarantool даже установить на Windows проблематично, так как на эту операционную систему он не портирован. Как я боролся с такими сложностями, для какого именно микросервиса выбрал Tarantool и как вы можете использовать Tarantool в своих .NET-проектах, я расскажу в данной статье. А пока спойлер — практически все трудности преодолимы, и мой опыт можно без сомнений назвать положительным. Например, на то, чтобы скачать и запустить Tarantool, а потом сделать к нему запрос из кода на языке C#, у меня ушло менее десяти минут. И я покажу вам, как это сделать!


                image


                Данная статья представляет собой туториал, описывающий работу с Tarantool как таковую. Здесь нет описания проекта, построенного на Tarantool, или сравнения Tarantool с другими продуктами (статей на эту тему и так уже написано достаточно много). Материал родился как попытка ответить на вопрос: а что бы я хотел прочитать, когда только начинал работать с Tarantool. Но вначале немного расскажу, для чего мы, собственно, Tarantool применяем в реальной жизни.

                Читать дальше →
              • Опыт подготовки и прохождения экзамена Oracle Certified Professional Java SE 8 Programmer 1Z0-810

                image Здравствуйте, уважаемые. Здесь было размещено достаточно много статей про сертификацию, пути сертификации и зачем она нужна: тут, тут и тут.

                В данном материале хочу поделиться с Вами своим опытом подготовки и прохождения экзамена Oracle Certified Professional Java SE 8 Programmer 1Z0-810.
                Читать дальше →
              • Особенности работы с иностранными бумагами из РФ: как купить кусок Гугла



                  Обычные торги идут через целую серию «прокладок». Давайте начнём с самого начала и попробуем разобраться, что всё это значит с точки зрения финансового рынка и ИТ-систем.

                  Итак, вы хотите купить акции Apple. Они листингуются на Санкт-Петербургской бирже (причём без согласия эмитента), можно купить через некоторых брокеров.

                  Вот кто из иностранных ИТ-игроков есть на бирже СПБ:
                  • ALPHABET (это GOOGLE)
                  • APPLE
                  • CISCO
                  • FACEBOOK
                  • INTEL
                  • INTERNATIONAL BUS. MACHINES ( IBM)
                  • MICRON TECHNOLOGY
                  • MICROSOFT
                  • PAYPAL
                  • QUALCOMM
                  • YAHOO

                  Остальные крупные ИТ-компании не торгуются в России. Вообще. Вы не можете взять и купить одну из них. Поэтому, если вы хотите купить одну из них, вам нужно иметь брокера из другой страны. А дальше начинается интересное.
                  Читать дальше →
                • Лучший Pull Request

                  Относительно недавно мне посчастливилось присоединиться к команде разработки Bitbucket Server в Atlassian (до сентября он был известен как Stash). В какой-то момент мне стало любопытно, как этот продукт освещён на Хабре, и к моему удивлению, нашлось лишь несколько заметок о нём, подавляющее большинство которых на сегодняшний день уже устарело.

                  В связи с этим я решил опробовать себя в роли рассказчика и затронуть техническую сторону Bitbucket. Прошу не рассматривать моё намерение как попытку рекламы, ибо я совершенно не преследую эту цель. Если эта статья обнаружит интерес со стороны читателей, я буду рад развивать тему и постараюсь ответить на возникающие вопросы.

                  Позвольте начать с перевода статьи Тима Петтерсена «A better pull request» о том, как должен выглядеть pull request, чтобы наиболее эффективно решать возложенную на него задачу.
                  Читать дальше →
                • Тонкая настройка ACPI на примере Thinkpad X220

                    Лирика


                    За прошедшие пару месяцев мне довольно часто приходилось вступать в дискуссии о всевозможных портативных компьютерах: ломать копья в спорах какой производитель лучше и почему, обсуждать совместимость с GNU/Linux и то, как в этой системе настроить ту или иную функцию и, периодически, меня таки просят поделиться конфигами. Под влиянием этих самых обсуждений и родилась данная статья.

                    Большую часть своего компьютерного стажа я пользуюсь лаптопами так называемой «бизнес серии»: IBM ThinkPad 600, HP-Compaq nc2400, Lenovo ThinkPad X61T, Lenovo ThinkPad X220.



                    Были кратковременные перерывы, когда приходилось перебиваться абы-чем, то бишь компьютерами потребительского сегмента: Apple ibook G4 и Acer aspire 5112 и именно в эти моменты приходило понимание того, как сильно не хватает таких очевидных и привычных вещей, как трекпоинт и док-станция.

                    Вот про док-станцию мы сейчас и поговорим.
                  • Используем TSQL для игры в «Судоку»

                    • Tutorial
                    После того как при помощи TSQL была успешна решена «Балда» (статья) я решил попробовать решить на нем «Судоку» (спасибо за идею shavluk).

                    Решение судоку получилось на удивление достаточно простым.

                    Базовая схема имеет следующий вид:

                    Читать дальше →
                  • Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

                      Let's Encrypt

                      Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

                      • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
                      • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
                      • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
                      • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
                      • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
                      • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

                      Читать дальше →
                    • Let's Encrypt: получение сертификата по шагам

                        В данной статье будет описан реальный способ получения сертификата от Let's Encrypt в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив Linux.



                        В первые дни открытия заявок на бета-тестирование и было принято решение записаться и вот недавно пришло письмо, которое сообщает о том, что теперь программа ACME сгенерирует валидный сертификат для нашего домена.

                        Далее мы решили опубликовать статью с пошаговой инструкцией процесса, чтобы к моменту релиза вы уже смогли оперативно создать и начать пользоваться своим сертификатом.
                        Читать дальше →
                      • Linux-контейнеры дома: зачем и как




                          Рассуждения


                          При упоминании словосочетания «контейнерная виртуализация», многим на ум сразу же приходят Virtuozzo и OpenVZ, а также Docker. Ассоциируется же это все, в первую очередь, с хостингом, VPS и другими подобными вещами.

                          Дома, на личных компьютерах многие используют виртуальные машины: в основном, пожалуй, Virtualbox. Как правило, для того, чтобы работая под Linux, иметь под рукой Windows или наоборот. Однако, при наличии множества родственных Linux-операционок, я стал замечать, что использование виртуальных машин — это, мягко говоря, нерационально.
                          Читать дальше →
                        • Видео докладов с конференции «Российские интернет-технологии 2015»

                            Рады поделиться с вами видео докладов с конференции «РИТ++». Отдельным постом выложим видео и слайды с LoveQA митапа.

                            1.«Реалтайм статистика скорости работы нативных и веб-приложений у реальных пользователей», Павел dpp Довбуш (Badoo).
                            Рассказали как сделана статистика и аналитика скорости работы (UX) приложений Badoo (Web, Mobile-web, iOS, Android, Windows). Про общие концепции и примеры, что и как измерять. Про то, как собирать данные со 100% пользователей проекта и выдержать нагрузку.
                            А также о том, как из OpenSource решений собрать систему сбора и визуализации статистики для своего проекта.
                            Бонус: выложили наше «real user monitoring» решение Jinba в OpenSource.


                            Читать дальше →
                            • +13
                            • 5.9k
                            • 4
                          • Qt Framework: потоки, иерархический конечный автомат, работа с USB-устройствами = QThread + QStateMaсhine + libUSB

                              Почти все разработчики программного обеспечения рано или поздно подходят к этапу, когда необходимо применить технологию распределения задач по отдельным потокам. Сейчас трудно представить разработку без применения того или иного фреймворка (framework).
                              Множество из них содержат необходимые инструменты для создания многопоточных приложений. Не исключение и Qt Framework.

                              Поговорим о методах Qt многопоточной разработки подробнее.

                              Сообщество разработчиков ПО на Qt Framework огромно. Люди охотно делятся навыками и приёмами создания многопоточных приложений. Существует множество замечательных книг и статей по вопросам изящного и не очень решения задачи работы с несколькими потоками.
                              Казалось бы, всё уже решено. Что ещё можно добавить?
                              Попробую описать работу потока на основе функционирования конечного автомата. Признаюсь, не находил материалы с подобным решением в сети.
                              Если статья поможет вам с идеей, что, по моему мнению, гораздо ценнее написанного кода, буду очень рад.

                              Выражаю отдельную благодарность А. Н. Боровскому за книгу «Qt4.7+.Практическое программирование на C++».
                              Рекомендую к обязательному прочтению!
                              Читать дальше →
                            • OSSIM — разворачиваем комплексную open source систему управления безопасностью



                                OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.
                                OSSIM «из коробки» включает в себя такой функционал как:
                                • Сбор, анализ и корреляция событий — SIEM
                                • Хостовая система обнаружения вторжений (HIDS) — OSSEC
                                • Сетевая система обнаружения вторжений (NIDS) — Suricata
                                • Беспроводная система обнаружения вторжений (WIDS) — Kismet
                                • Мониторинг узлов сети- Nagios
                                • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.
                                • Сканер уязвимостей – OpenVAS
                                • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX
                                • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб

                                Читать дальше →
                              • Lock-free структуры данных. Concurrent map: разминка


                                  Мне оказали честь — пригласили выступить на первой конференции C++ 2015 Russia 27-28 февраля. Я был насколько наглым, что запросил 2 часа на выступление вместо положенного одного и заявил тему, наиболее меня интересующую — конкурентные ассоциативные контейнеры. Это hash set/map и деревья. Организатор sermp пошел навстречу, за что ему большое спасибо.
                                  Как подготовиться ко столь ответственному испытанию выступлению? Первое — нарисовать презентацию, то есть кучу картинок, желательно близко к теме. Но надо ещё и два часа озвучивать картинки, — как все это запомнить? Как избежать глубокомысленных «ээээмммм», «здесь мы видим», «на этом слайде показано», несвязных прыжков повествования и прочих вещей, характеризующих выступающего c не очень хорошей стороны в части владения родным языком (это я про русский, с C++ я разобрался быстро — никакого кода в презентации, только картинки)?
                                  Конечно, надо записать свои мысли, глядя на слайды. А если что-то написано, то не худо бы и опубликовать. А если публиковать, — то на хабре.
                                  Итак, по следам C++ 2015 Russia! Авторское изложение, надеюсь, без авторского косноязычия, без купюр и с отступлениями по теме, написанное до наступления события, в нескольких частях.
                                  Читать дальше →