• Как устроен пассажирский вагон дальнего следования

      Современный вагон при соединении с остальным поездом автоматически включается в локальную сеть и получает параметры с сервера штабного вагона. У одноэтажного вагона Тверского вагоностроительного завода сейчас в мониторинге примерно 280 параметров (начиная от уровня заполнения фекального бака и заканчивая напряжением аккумулятора), а у двухэтажного — около 400.



      Начнём с межвагонных связей. Это тормозная пневматическая магистраль (пневматические рукава, которыми вагоны соединяются между собой, железнодорожники называют их «лягушками»), высоковольтная магистраль, аварийная магистраль 110 В, интерком и локальная сеть, плюс радиорелейные мосты между вагонами на случай обрыва локальной сети.
      Читать дальше →
    • Зарплаты ИТ-специалистов на середину 2018 года

        image

        Публикуем второй отчет зарплатного сервиса «Моего круга». Отчёт построен на данных по 7900+ зарплатам, внесенных нашими пользователями за последние полгода. 70% зарплат внесено разработчиками, остальные — администраторами, тестировщиками, менеджерами, аналитиками, дизайнерами, эйчарами, маркетологами и специалистами поддержки.

        В этот раз мы не только посмотрим текущие зарплаты по основным ИТ-специализациям, языкам программирования и компаниям, но также увидим полугодовую динамику некоторых из них.
        Читать дальше →
      • Умные часы Pebble: как в одночасье стать раритетом

          Самая первая модификация часов Pebble поступила в продажу в январе 2013 года. В декабре 2016 года стало известно, что компания прекращает существование, и это было неожиданно: только-только прошел казалось бы вполне успешный раунд сбора средств на KickStarter на третье поколение умных часов – и на тебе.

          Весной 2018 года я, при довольно странных жизненных обстоятельствах, потерял свои часы Pebble Time Steel. Так потерял, что даже не могу назвать конкретную дату, что вот они у меня были, а вот – нет. Как будто вместе со штанами, смартфоном и наушниками я переместился в иное измерение, а часы остались где-то там, где есть стены дома, воспоминания, молодость в конце концов, а меня уже нет.


          Штош, подумал я, так даже интереснее. По сути Pebble своим неожиданным провалом дали мне уникальный шанс пополнить свою коллекцию устаревших устройств в тот момент, когда эти устаревшие устройства еще можно добыть новыми в упаковке. Заодно появилась возможность сравнить девайсы типа КПК Palm и современные, завязанные на облако так, что без него они почти не работают. И знаете, не все так плохо! Pebble, кажется, будут жить еще долго благодаря сообществу неравнодушных пользователей и разработчиков.
          Читать дальше →
        • Почему хватит считать нейронные сети черным ящиком?

          image

          Если вы достаточно долго увлекаетесь нейросетевыми технологиями, то наверняка встречались с мнением, кратко заключенным в риторическом вопросе: «Как ты объяснишь человеку, когда нейросеть считает, что у него рак?». И если в лучшем случае такие мысли заставят тебя сомневаться в использовании нейросетей в достаточно ответственных сферах, то в худшем случае ты можешь и потерять весь свой интерес.

          Читать дальше →
        • 33 двухюнитовых сервера на 13 ТБ оперативки и 0,6 ПТ распределённого хранилища — почему это минимум для проактивного UBA

            Скриншот собираемых данных:



            Современные системы безопасности ОЧЕНЬ прожорливы до ресурсов. Почему? Потому что они считают больше, чем многие продакшн-сервера и системы бизнес-аналитики.

            Что они считают? Сейчас объясню. Начнём с простого: условно первое поколение защитных устройств было очень простым — на уровне «пускать» и «не пускать». Например, файерволл пускал трафик по определённым правилам и не пускал трафик по другим. Естественно, для этого особая вычислительная мощность не нужна.

            Следующее поколение обзавелось более сложными правилами. Так, появились репутационные системы, которые в зависимости от странных действий пользователей и изменений в бизнес-процессах присваивали им рейтинг надёжности по заранее заданным шаблонам и выставленным вручную порогам срабатывания.

            Сейчас системы UBA (User Behavior Analytics) анализируют поведение пользователей, сравнивая их с другими сотрудниками компании, и оценивают логичность и правильность каждого действия сотрудника. Делается это за счёт Data Lake-методов и довольно ресурсоемкой, но автоматизированной обработки алгоритмами машинного обучения — в первую очередь потому, что прописывать все возможные сценарии руками занимает несколько тысяч человеко-дней.
            Читать дальше →
          • Обзор ЦОД IXcellerate (самый большой машзал в РФ)



              Самое главное — тут после машзала подают горячие влажные салфетки, как в японских ресторанах. Это не имеет никакого отношения к технической части, но по-человечески приятно.

              А это гитара с автографом Пола Маккартни, и да, она у них висит на входе в машзал:



              У этого ЦОДа есть определённое настроение.

              Выглядит всё это как огромный ангар в промзоне около метро «Отрадное». Высота ангара — 14 метров, внутри построен ЦОД высотой 9 метров. Оставшееся пространство играет роль теплоизолятора, что сказывается на местных особенностях охлаждения. Здание выбиралось так, чтобы не выходило на дорогу краями (по протоколам сертификации нельзя получить высокие уровни, если в машзал можно попасть на грузовике, протаранив стену, — видимо, были случаи), имело два разных маршрута заезда и было относительно недалеко от метро. Там же рядом открыли станцию МЦК, но дорога идёт по таким весёлым местам….
              Читать дальше →
            • Ой, у вас баннер убежал!

              Ну. И что?
              Реклама
            • Flaky tests

                Что неприятнее «красного теста»? Тест, который то зелёный, то красный, и непонятно, почему. На нашей конференции Heisenbug 2017 Moscow Андрей Солнцев (Codeborne) рассказывал, из-за чего они могут возникать и как снижать их число. Примеры в его докладе такие, что прямо-таки кожей ощущаешь боль, возникавшую при столкновении с ними. А советы полезные — причём ознакомиться с ними стоит как тестировщикам, так и разработчикам. Есть и неожиданное: можно узнать, как порой можно разобраться в проблеме, если оторваться от экрана и поиграть с дочкой в кубики.

                В итоге зрители высоко оценили доклад, и мы решили не просто опубликовать видеозапись, а ещё и сделать для Хабра текстовую версию доклада.


                Читать дальше →
                • +31
                • 2,1k
                • 3
              • Ученые нашли способ обратить процесс старения клеток



                  Многие люди мечтают, что при их жизни найдут способ остановить старение. Теперь можно перестать мечтать. Реальная жизнь переплюнула научную фантастику. Исследователи смоги не только остановить, но и обратить процесс старения – вернув человеческие клетки обратно к их «молодому» состоянию. Правда, пока что только в лаборатории. Ученые рассчитывают, что скоро их открытие позволит создавать лекарства против естественной дегенерации тканей. И указывают на то, какие продукты нам нужно употреблять, чтобы достичь похожего эффекта в своём организме.

                  Читать дальше →
                • Иван Тулуп: асинхронщина в JS под капотом

                    А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботиться.

                    Об этом и о том, как работает асинхронщина в JS под капотом, как Event Loop работает в браузерах и в Node.js, есть ли какие-то различия и, может быть, похожие вещи рассказал Михаил Башуров (SaitoNakamura) в своем докладе на РИТ++. С удовольствием делимся с вами расшифровкой этого познавательного выступления.



                    О спикере: Михаил Башуров — fullstack веб-разработчик на JS и .NET из Luxoft. Любит красивый UI, зеленые тесты, транспиляцию, компиляцию, технику compiler allowing и улучшать dev experience.

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

                    Читать дальше →
                  • «Яндекс.Деньги в ваше приложение заходить неинтересно сделайте штонибуть»


                      Где-то внутри приложения Яндекс.Денег спрятана кнопка «Предложить идею». Люди нажимают на неё и пишут о своей боли, предлагают помощь или просят денег за невероятные новые возможности, которые они уже придумали, осталось только заплатить им сто тысяч.


                      Часто ребята этой кнопкой просили поменять дизайн — целиком или частично — чтобы стало лучше. Мы читаем эти письма (я — по утрам за кофе) и видим, что тёмную тему просят чаще, чем настраиваемую разблокировку, но реже, чем фотографию любимого котейки на главном экране.


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


                      Пост об этом, а ещё о том, как мы сделали свой CSS на Swift.

                      Читать дальше →
                    • Learn OpenGL. Урок 5.7 — HDR

                      • Перевод
                      • Tutorial

                      HDR


                      При записи во фреймбуфер значения яркости цветов приводятся к интервалу от 0.0 до 1.0. Из-за этой, на первый вгляд безобидной, особенности нам всегда приходится выбирать такие значения для освещения и цветов, чтобы они вписывались в это ограничение. Такой подход работает и даёт достойные результаты, но что случится, если мы встретим особенно яркую область с большим количеством ярких источников света, и суммарная яркость превысит 1.0? В результате все значения, большие чем 1.0, будут приведены к 1.0, что выглядит не очень красиво:



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


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


                      Дисплей компьютера способен показывать цвета с яркостью в диапазоне от 0.0 до 1.0, но у нас нет такого ограничения при расчёте освещения. Разрешая цветам фрагмента быть ярче единицы, мы получаем намного более высокий диапазон яркости для работы — HDR (high dynamic range). С использованием hdr яркие вещи выглядят яркими, тёмные вещи могут быть реально тёмными, и при этом мы будем видеть детали.

                      Читать дальше →
                      • +20
                      • 1,8k
                      • 2
                    • Три умных кубика Рубика: Xiaomi, Roobo и GoCube

                        Кубик Рубика — уже не просто легендарная игрушка-головоломка, а скорее синоним чему-то сложному, над чем нужно задуматься.

                        С 70х годов прошлого века создатели кубиков традиционно шли путем постоянного усложнения «игрушки», добавляя лишние клетки, меняя и совершенствуя форму. Однако теперь все поменялось, и кубики стали упрощать.



                        Так появилась «обучающая» категория смарт-кубиков, а затем и обучающе-развлекательная. Правда, их не так уж много.
                        Читать дальше →
                        • +18
                        • 6,9k
                        • 1
                      • Светодиодные лампы О'КЕЙ

                          Многие сети магазинов выпускают светодиодные лампы под своими брендами. Лампы зарубежных сетей часто оказываются лучше и дешевле тех, которые выпускают «лампочные» бренды. В качестве примеров приведу лампы (IKEA), (Lexmann сети Леруа Мерлен), Diall сети Castorama, (Auchan сети Ашан).

                          В российской сети гипермаркетов О'КЕЙ также появились лампы под собственным брендом. Я купил их и протестировал.

                          Читать дальше →
                          • +17
                          • 12,4k
                          • 9
                        • Vuex: структурирование больших проектов и работа с модулями

                          • Перевод
                          Vuex — это официальная, отлично документированная библиотека для управления состоянием приложений, разработанная специально для фреймворка Vue.js. Автор материала, перевод которого мы сегодня публикуем, полагает, что пользоваться этой библиотекой гораздо приятнее, чем Redux, так как, во-первых, для работы с Vuex требуется меньше шаблонного кода, а во-вторых — из-за того, что для работы с асинхронными механизмами здесь не нужно дополнительных библиотек. Более того, так как библиотека Vuex создана той же командой, которая занимается работой над Vue, эта библиотека очень хорошо интегрируется с данным фреймворком. К сожалению, в работе с Vuex всё ещё можно столкнуться с одной сложностью, которая заключается в правильной подготовке структуры проектов, в которых планируется пользоваться этой библиотекой.



                          В этой статье вы найдёте описание методики структурирования больших проектов, использующих Vuex, и скрипта, предназначенного для автоматизации процесса создания модулей Vuex.
                          Читать дальше →
                        • Баг при работе TextBox.GetLineText в .NET WPF

                            Для проведения исследований работы программ и ОС существует очень много различного инструментария. Виртуальные машины, IDE, умные блокноты, IDA, radare, hex-редакторы, pe-редакторы, и даже одних утилит Sysinternals больше сотни — все это сделано для облегчения многих рутинных операций. Но иногда наступает момент, когда ты понимаешь, что среди всего этого многообразия тебе не хватает небольшой утилитки, которая просто сделает банальную и нехитрую работу. Можно написать скрипты на питоне или Powershell на коленке, но нередко на такие поделки без слез не взглянешь и с коллегами не поделишься.

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

                            Ошибка проявляется так – если в WPF приложении, в стандартный контрол TextBox воткнуть много строк текста, то вызовы функции GetLineText() начиная с некоторого индекса будут возвращать неправильные строки.


                            Неправильность заключается в том, что хоть строки будут из установленного текста, но расположенные дальше, фактически GetLineText() будет просто пропускать некоторые строки. Ошибка проявляется при очень большом количестве строк. Так я ее и встретил – попытался отобразить в TextBox’е 25 мегабайт текста. Работа с последними строками выявила неожиданный эффект.

                            Гугл подсказывает, что ошибка существует с 2011 года и Microsoft не особо торопится что-то исправлять.
                            Посмотрим на пример и найдем проблему
                          • Как писать программы на стыке мобильной разработки и алгоритмов? Конкурс и истории Яндекса

                              С 10 по 22 сентября пройдет конкурс Яндекс.Блиц по мобильной разработке. Регистрация открыта. Блиц — это короткий путь в Яндекс: участникам топ-5 будет достаточно успешно пройти одну секцию собеседования вместо стандартных четырех.

                              По случаю конкурса мы поговорили с коллегами об интересных задачах, относящихся сразу и к мобильным платформам, и к алгоритмам. Сегодня мы поделимся их историями с читателями Хабра.



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

                              Читать дальше →
                            • Торгово-промышленная палата России предложила не наказывать пользователей «шпионских» устройств

                              • Новость

                              За использование GPS-маячка для коровы можно попасть в поле зрения правоохранительных органов

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

                              Насколько можно судить, это предложение — следствие вопроса фермера из Курганской области, который был задан президенту России Владимиру Путину на ежегодной пресс-конференции. Фермер спрашивал, справедливо ли то, что покупка GPS-маячка для коровы, постоянно отбивающейся от стада, привела к уголовному делу.
                              Читать дальше →
                            • Моделирование динамических систем: Как движется Луна?

                              • Tutorial
                              Светлой памяти моего учителя — первого декана физико-математического факультета Новочеркасского политехнического института, заведующего кафедрой «Теоретическая механика» Кабелькова Александра Николаевича

                              Введение



                              Август, лето подходит к концу. Народ яростно рванул на моря, да оно и неудивительно — самый сезон. А на хабре, тем временем, буйным цветом распускается и пахнет лженаука. Если говорить о теме данного выпуска «Моделирования...», то в нем мы совместим приятное с полезным — продолжим обещанный цикл и совсем чуть-чуть поборемся с этой самой лженаукой за пытливые умы современной молодежи.



                              А вопрос ведь действительной не праздный — со школьных лет мы привыкли считать, что наш ближайший спутник в космическом пространстве — Луна движется вокруг Земли с периодом 29,5 суток, особенно не вдаваясь в сопутствующие подробности. На самом же деле наша соседка своеобразный и в какой-то степени уникальный астрономический объект, с движением которого вокруг Земли не всё так просто, как, возможно хотелось бы некоторым моим коллегам из ближайшего зарубежья.

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

                              Читать дальше →
                            • OpenAI демонстрирует перенос сложных манипуляций из симуляций в реальный мир

                              • Перевод

                              После добавления случайных факторов в относительно простую симуляцию робот из OpenAI научился выполнять сложные наладонные операции




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

                              У людей уходят годы тренировок на то, чтобы научиться надёжно работать пальцами, но у роботов нет столько времени на обучение. Такие сложные задачи всё ещё решаются через практическое обучение и приобретение опыта, и задача состоит в том, чтобы найти способ обучать робота быстрее и эффективнее, чем просто дать роботизированной руке что-то, чем можно манипулировать снова и снова, пока она не поймёт, что срабатывает, а что – нет; на это может уйти сотня лет.
                              Читать дальше →
                              • +15
                              • 3,2k
                              • 3
                            • PHP, YII2 и формирование больших excel-файлов

                              Начало


                              Одна поддерживаемая нашей компанией учетно-отчетная система начала очень быстро разрастаться в количестве хранимых данных. Система написана на PHP с использованием фреймворка Yii2. Изначально отчеты строились через библиотеку PhpSpreadsheet, которая пришла на смену, уже давно ставшему deprecated, PhpExcel.

                              Среди разного вида отчетности был один очень крупный – фактически полный набор всех хранящихся в БД данных должен выгружаться в одну excel-таблицу. На начальном этапе проблем не возникало, но когда объем стал превышать многие сотни тысяч записей, то скрипт формирования выгрузки стал отваливаться в timeout limit.
                              Читать дальше →
                            Самое читаемое