• Пульсация экранов телевизоров

      У подавляющего большинства современных телевизоров экраны мерцают, причём уровень пульсации составляет 100% (экран полностью гаснет и загорается). Это может приводить к усталости глаз, головным болям и обострению нервных заболеваний.


      Читать дальше →
    • Dell и DROVA: как играть в требовательные игры даже на слабом ноутбуке

        Привет, Хабр! Сегодня мы хотим немного поговорить о будущем гейминга. Так уж вышло, мало кто из современных молодых людей хочет заморачиваться со сборкой мощных игровых компьютеров. Да и не особо это рентабельно – покупать дорогущий ПК, который используешь по назначению лишь несколько раз в неделю. Тем не менее, поиграть им хочется. И таких ребят по всему миру очень и очень много! Именно их в качестве своей целевой аудитории выбрали создатели сервиса DROVA, позволяющего пользователям играть в самые требовательные игры даже на слабых ноутбуках. Забегая вперед, сразу скажем: нет, это не облачный стриминг! Все подробности под катом, добро пожаловать.


        Читать дальше →
      • 25 ошибок начинающего программиста

        • Translation

        Научитесь выявлять их. Выработайте привычки избегать их.


        Цель этой статьи не загнобить новичков за типичные ошибки, а научить выявлять их и избегать. Порядок перечисления – случайный.

        От переводчика


        Иногда бывает трудно объяснить простыми словами казалось бы банальные вещи: зачем использовать гит, в чем фишка инкапсуляции, зачем писать тесты, как планировать свой код, рефакторить чужой и т.д. Мне показалось, что в этой статье компактно собраны важные «гуманитарные» аспекты программирования. Что-то вроде морального кодекса, ориентира и мотиватора в принятии решений, связанных с написанием кода.

        Как бы это смешно не звучало, я работал над этим текстом с середины марта, стараясь подобрать подходящие формулировки и упростить для восприятия. Ещё пару дней воевал с хабра-редактором. Поэтому, если вы найдёте недочёты, прошу не винить меня в нерадении, а оповестить, я их сразу же исправлю. Я думал украсить статью картинками, но решил, что это только раздует её до совсем неприличных размеров. Приятного чтения.
        Читать дальше →
      • Как у меня сломался String.getBytes(UTF_8) и что я с этим делал

          (спойлер) дебажил, дизасемблил и пришел к выводу что проблема в SSE инструкциях

          Привет, Хабр!

          Все началось с того что я писал Load тест на Java для внутреннего компонента системы над которой сейчас работаю. Тест создавал несколько потоков и пытался что-то выполнить очень много раз. В процессе выполнения иногда появлялись java.lang.ArrayIndexOutOfBoundsException: 0 ошибки на строчке очень похожей на эту:

          "test".getBytes(StandardCharsets.UTF_8)
          
          Читать дальше →
        • Отказоустойчивый сервер печати на базе Windows

          • Tutorial

          Настоящий админ может спать спокойно лишь тогда, когда у него всё бэкапится, мониторится и дублируется. Или когда он работает в хорошей команде, где всегда можно свалить вину на другого.
          Так получилось, что я в своей работе использую в основном продукты Microsoft и могу сказать, что компания серьезно подходит к резервированию своих сервисов: Active Directory, Exchange DAG, SQL Always On, DFSR и т.д. Как и везде, здесь есть как весьма изящные и удачные реализации, так и явно неудобные и тяжелые. Для сервиса печати тоже есть решение, но для него необходима кластеризация на базе Hyper-V. А хотелось простого решения “из коробки”, не требующего дополнительных финансов. За основу была взята Windows 2012 R2, но скорее всего та же схема без проблем будет работать на любых серверных версиях, начиная с Windows 2008, и даже клиентских ОС от Vista и выше (привет любителям экономить бюджет!). Кому интересно — прошу под кат.
          Читать дальше →
        • Сэм Альтман, президент Y Combinator: Продуктивность

          • Translation
          image

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

          Обычно темпы развития обсуждаются в контексте экономики, однако это можно также применить и в карьере, что очень здорово. Маленькое зернышко продуктивности, взращиваемое на протяжении 50 лет, стоит очень многого! Поэтому необходимо выяснить, как же оптимизировать продуктивность. Если вы каждый день выполняете свою работу на 10% больше и на 1% лучше, чем кто-либо другой, итоговая разница будет просто невероятной.

          Над чем вы работаете


          Совсем не важно, как быстро вы движетесь к цели, если она не является стоящей. Выбор правильного объекта это самый важный аспект продуктивности и зачастую самый игнорируемый. Так что действительно задумайтесь об этом! Мыслить самостоятельно непросто, однако, стоит только начать — дальше будет легче.
          Читать дальше →
        • Заблуждения программистов о трудоустройстве

          • Translation
          Это перевод. Статья опубликована в июне 2018 года

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

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

          В стиле известной статьи Патрика Маккензи об именах, вот список главных заблуждений, которые могут быть у программистов (особенно начинающих).
          Читать дальше →
        • Взлом дешёвого фитнес-браслета

          • Translation
          Это перевод. Статья опубликована 27 мая 2018 года


          Фитнес-трекер до и после разборки

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

          • действительно маленький форм-фактор (примерно 15×40 мм);
          • Bluetooth low energy (BLE);
          • OLED-дисплей (96×32 пикселя);
          • аккумулятор;
          • USB-зарядка;
          • акселерометр;
          • вибромотор;
          • цена около $10 (!).
          Читать дальше →
        • Живи. Умри. Воскресни. Повтори

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

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

            Почти, да не совсем. Отличие игры от реала должно быть – ведь на работе я воспринимаю свои действия как труд, а в игре – как игру. Сформулирую вопрос так – что есть в игре, что делает её именно игрой?

            Магия? Нет. Мало того, что как говорил Артур Кларк, магия не отличается от развитой технологии, так еще и большая часть игр никак на магию не завязана. Не буду тянуть: Для меня самым главным отличием мира игры от реальности – является концепция Save/Load. Именно возможность откатить время назад и переиграть, попробовав другую тактику – делает игру интересной. (Те игры, например MMORPG, где нет такого элемента, нравятся мне меньше).

            Не могу сказать, правда, что мои предпочтения совпадают с предпочтениями большинства – любовь к перебору вариантов привела меня к тому, что я только три года назад наконец-то закончил сюжетную компанию в Heroes of Might and Magic II и сейчас играю в «Возрождение Эрэфии» и «Stronghold».

            Ну, а вспомнил я всё это потому, что столь любимая мной концепция Save/Load появилась довольно давно. Раньше, даже, чем компьютерные игры.

            В 1904 году. Хотите узнать больше? Мы продолжим:
            Читать дальше →
          • NewSQL: SQL никуда не уходит

              Tренду NoSQL уже почти 10 лет, и можно смело делать какие-то выводы и обобщения. Этим и займемся, поговорим про развитие NoSQL.

              Вспомним, как родился NoSQL. Посмотрим, что в нем хорошо, а что плохо, и что выдержало испытание временем. Разберем возможности, которые уже есть в SQL, и которые теперь появляются в NoSQL СУБД. Выделим уникальные ценности NoSQL, и заглянем чуть-чуть вперед в то, что на рынке будет завтра.

              А поможет нам в этом Константин Осипов (@kostja) — разработчик и архитектор СУБД Tarantool, который в своем докладе на РИТ++ 2017 говорил про тренды NewSQL, ведь архитектору полагается понимать, что происходит в мире баз данных, чтобы, как минимум, не изобретать велосипед.


              О спикере: Сейчас Константин Осипов работает над Tarantool, но ранее участвовал в разработке MySQL, и, когда Константин начинал работу над новой базой данных, его очень смущало, зачем это делать вообще, зачем нужна очередная база данных. В частности, отношение к NoSQL было очень скептическим, как к «недоSQL».

              Однако, развитие продолжается, некоторые изначальные принципы отмирают, и, в то же время, NoSQL базы перенимают возможности от классического SQL. На основании результатов этих нескольких лет бурной трансформации вполне можно подвести промежуточные итоги и позволить себе сделать несколько предсказаний на будущее.
              Читать дальше →
            • Научите меня проводить собеседования

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

                В ней нет золотого грааля, как нужно нанимать лучших сотрудников, только здравый подход к проведению собеседований. Скорее всего статья будет полезна тем, кто только начинает собеседовать людей. Однако, принесет пользу и остальным, чтобы посмотреть со стороны на свой подход к проведению собеседований.
                Читать дальше →
              • Как выбрать инструмент для прототипирования в 2018 году?

                  Здравствуй, Хабр! Меня зовут Саша Отважный, я работаю команде Digital Business Platform Сбербанка и Сбертеха, и занимаюсь дизайном мобильных приложений и веб-проектов. Большая часть моей работы состоит из сборки прототипов разной степени детализации для разных целей. Новые инструменты и сервисы для дизайна и прототипирования выходят и обновляются каждый день. Я провёл полное и глубокое исследование инструментов, представленных сегодня на рынке, и помогу в них разобраться.

                  Я разбил список на три большие группы по функциональности и разберу каждую по отдельности:


                  Читать дальше →
                • Самый умный обогреватель



                    Сегодня я расскажу об одном интересном девайсе. Им можно обогревать помещение, поставив под окно, как любой другой электрический конвектор. Им можно обогревать «с умом», по любым мыслимым и немыслимым сценариям. Он сам может легко управлять умным домом. На нем можно играть и (о, Космос!) даже работать. (осторожно, много больших фото под катом)
                    Читать дальше →
                  • Разбираем протокол чайника Redmond G200S и подключаем его к HomeAssistant

                    Вступление


                    На Гиктаймс уже была статья, посвященная разбору протокола чайника Redmond SkyKettle. Однако там речь шла о модели RK-M171S, здесь же речь пойдет о более функциональном G200S. В данной модели изменился протокол взаимодействия, из за чего подход автора предыдущей статьи уже не работает, а также появились дополнительные функции ночника и индикации текущей температуры цветом.

                    В данной статье я приведу результаты разбора протокола с примерами кода на python (если кто захочет разработать свой модуль/приложение для управления чайником). Также в конце статьи ссылка на готовый модуль для подключения чайника к HomeAssistant (это мой первый опыт написания на python после прохождения онлайн-курса, так что данный модуль можно и даже нужно улучшать).

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

                    • Translation
                    «Седой ветеран из NASA как-то сказал мне, что посадка на Луну корабля серии «Аполлон» было самым великим достижением коммунизма.»
                    «Это же вы, вы ослабили хватку!» – объявил Майкл Кроу, президент университета штата Аризона. Конечно же, он обращался к писателям Научной Фантастики. Он как будто бы говорит, что ученые и инженеры в боевой готовности и ищут, чем бы таким себя занять. Пришло время писателям НФ начать выполнять свою часть работы и подпитывать нас большими мечтами, полными смысла.
                    image

                    Я успел застать тот период, когда у Соединенных Штатов Америки появилась возможность отправлять людей в космос. У меня сохранились самые ранние воспоминания о том, как я сидел на плетеном коврике перед гигантским черно-белым телевизором и смотрел первые запуски кораблей серии «Джемини». Этим летом, в возрасте 51 года (прим. пер. статья 2011 года), совсем даже не преклонном, я смотрел по телевизору с плоским экраном как последний коспический корабль «Шаттл» покинул пусковую площадку. Видя, как программа по освоению космоса приходила в упадок, меня одолевали печаль и горечь. Где моя космическая станция тороидальной формы? Где мой билет на Марс? Хотя, до недавнего момента, я держал свои чувства при себе. У программы исследования космоса всегда были свои противники, но жалобы на спад активности в данной сфере означают поставить себя под удар, чем незамедлительно воспользуются те, в ком нет сострадания к состоятельному, белому американцу средних лет, детские мечты которого так и не воплотились в жизнь.

                    Тем не менее, я обеспокоен тем, что наша неспособность соответствовать достижениям программы по освоению космоса 60-х годов может быть симптомом общей несостоятельности нашего общества доводить до ума крупные проекты. Мои родители, бабушки и дедушки были свидетелями создания самолета, автомобиля, ядерной энергии, и компьютера – вот лишь несколько примеров.
                    Читать дальше →
                  • Психология читабельности кода

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

                    Каждый программист старается писать хороший код. Читабельность — один из главных признаков такого кода. О ней написано достаточно много книг, но всё же в теме есть пробелы. Например, те самые книги сфокусированы больше на советах КАК написать читабельный код, а не на причинах того, почему один код является хорошо читабельным, а другой — нет. Книга говорит нам «используйте подходящие названия переменных» — но что делает одно название более подходящим, чем другое? Работает ли это для всех примеров подобного кода? Работает ли это для всех программистов, которым попадётся на глаза этот код? Как раз о последнем я и хотел бы поговорить чуть детальнее. Давайте погрузимся немного в человеческую психику. Наш мозг — главный наш инструмент, хорошо бы изучить специфику его работы.
                    Читать дальше →
                  • Идея о том, как можно создать единый трекер здоровья с системой принятия решений

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

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

                      В статье представлены реальные примеры из жизни, в которых трекинг был полезен или просто необходим. Рассмотрены переменные, которые можно отслеживать и сопоставлять. Среди них есть физиологические показатели (пульс, давление), показатели окружающей среды (температура, яркость солнца, магнитное поле), питание, а также психологические показатели (индекс счастья, восприятие мультимедиа, хронометрика обучения).


                      Читать дальше →
                    • Универсальный API для получения информации по чекам

                        Привет жителям Хабра.

                        В данной статье хотелось бы рассказать про API для получения чеков, которое нам не предоставила всеми любимая ФНС.

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

                        t=20180518T220500&s=975.88&fn=8710000101125654&i=99456&fp=1250448795&n=1

                        Но расстраиваться я не стал и подумал, что ФНС позаботилась о нас и предоставила API для получения такой информации. Погуглив некоторое время я понял, что ФНС нам предоставила только мобильное приложение для проверки чека и просмотра той информации, что поступила к ним от магазина.
                        Читать дальше →
                      • Пирамида тестов на практике

                        • Translation
                        Об авторе: Хэм Фокке — разработчик и консультант ThoughtWorks в Германии. Устав от деплоя в три ночи, он добавил в свой инструментарий средства непрерывной доставки и тщательной автоматизации. Сейчас налаживает такие системы другим командам для обеспечения надёжной и эффективной поставки программного обеспечения. Так он экономит компаниям время, которое эти надоедливые людишки тратили на свои выходки.

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

                        Содержание

                        Примечания

                        Читать дальше →
                        • +14
                        • 61k
                        • 4
                      • Сказ о том, как я в Финляндию переехала

                        Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.


                        Читать дальше →