• Моё разочарование в софте

    • Перевод

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


    Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

    Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

    Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
    Читать дальше →
  • Habr.com. Transparency report

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


      Мы изучили зарубежные практики (да-да, подобное есть у многих крупных проектов), подумали и решили, что сводная статистика об объёмах запросов должна стать публичной. Поэтому поскребли по сусекам и предлагаем вашему вниманию так называемый Transparency report — отчёт о запросах различных государственных служб и правообладателей за разные годы.
      Читать дальше →
    • Я врач неотложной помощи, и я хочу поговорить о новой электрокардиограмме Apple Watch

      • Перевод


      Перевод поста с Reddit

      Я врач неотложной помощи, и каждый день мне приходится читать и интерпретировать электрокардиограммы (ЭКГ). Я хочу поговорить о новой функции Apple Watch для записи ЭКГ, поскольку с ней связано множество недоразумений. Эта новая функция Apple Watch довольно удобна, и многие люди по понятным причинам весьма ей рады, но у неё есть свои ограничения.

      Также я хотел бы дать базовое объяснение технологии ЭКГ.
      Читать дальше →
    • DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter

      Привет, друзья!

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



      Кому интересно — прошу под кат.
      Читать дальше →
    • Использование аккумулятора от iPhone при разработке носимой электроники

        Приветствую, читатель.

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



        Есть несколько вариантов действия в таком случае, о них поговорим ниже.
        Читать дальше →
      • Портирование JS на Эльбрус

          Это рассказ про портирование JavaScript на отечественную платформу Эльбрус, выполненное ребятами из компании UniPro. В статье — краткий сравнительный анализ платформ, детали процесса и подводные камни.



          В основе статьи — доклад Дмитрия (dbezheckov) Бежецкова и Владимира (volodyabo) Ануфриенко с HolyJS 2018 Piter. Под катом вы найдете видео и текстовую расшифровку доклада.
          Читать дальше →
        • Как обойти SMS идентификацию при подключении к публичным Wi-Fi сетям?

          В 2014 году начали свое действие постановления правительства РФ №758 №801, обязывающие владельцев публичных WiFi сетей настроить на роутерах идентификацию пользователей через паспортные данные, sms или портал гос. услуг. Нежелание владельцев кафе тратиться за Captive portal'ы поспособствовало некоторым провайдерам в распространении своих точек доступа с платной sms-авторизацией. У меня возникло желание проверить, можно ли подобную sms-авторизацию обойти.

          image
          Читать дальше →
        • Всякие штуки в MetaPost

          В чем рисовать векторные картинки? Для меня, как и для многих других, ответ довольно очевиден: скорее всего, в иллюстраторе. Ну или в инкскейпе. Так же я думал, когда мне заказали отрисовать штук восемьсот картинок для учебника физики. Ничего такого, просто черно-белые технические иллюстрации со всякими блоками, шарами, пружинами, линзами, машинками, тракторами и прочим подобным. Предполагалось, что верстаться книга будет в латехе, а мне были предоставлены вордовские файлы со вставленными картинками — то карандашными набросками, то сканами из других книг — и вроде бы рукопись в каком-то виде. В этом случае первая мысль — рисовать в инкскейпе — уступила фантазиям на тему «как бы это так все автоматизировать». Лучшим вариантом показался в тот момент почему-то MetaPost.



          Читать дальше →
        • Как нарисовать чёрную дыру. Геодезическая трассировка лучей в искривлённом пространстве-времени

          • Перевод
          «Это легко. Берём метрику Шварцшильда, ищем символы Кристоффеля, вычисляем их производную, записываем геодезическое уравнение, меняем некоторые декартовы координаты (чтобы не страдать), получаем большое многострочное ОДУ — и решаем его. Примерно так».



          Теперь ясно, что чёрные дыры меня засосали. Они бесконечно увлекательны. В прошлый раз я разбирался с визуализацией геометрии Шварцшильда. Меня поглотила проблема точного представления, как кривизна такого пространства-времени влияет на внешний вид неба (поскольку фотоны из удалённых источников движутся вдоль геодезических линий, изогнутых чёрной дырой) для создания интерактивного моделирования. Вот результат (работает в браузере). Хитрость в максимально возможном предрасчёте отклонения световых лучей. Всё работает более-менее нормально, но конечно, такая симуляция далека от идеала, потому что в реальности там не производится никакой трассировки (для неспециалистов: восстановление назад во времени местонахождения световых лучей, падающих в камеру).

          Мой новый проект исправляет этот недостаток, отказавшись от эффективности/интерактивности самым простым образом: это рейтрейсер чисто на CPU. Трассировка выполняется максимально точно и максимально долго. Рендеринг изображения вверху занял 15 5 минут (спасибо, RK4) на моём ноутбуке.
          Читать дальше →
        • В очередной раз анализатор PVS-Studio оказался внимательнее человека

            Возьми баг

            Изучая предупреждения анализатора PVS-Studio в процессе проверки различных открытых проектов, мы вновь и вновь убеждаемся, сколь полезен может быть этот инструмент. Анализатор кода невероятно внимателен и никогда не устаёт. Он указывает на ошибки, которые ускользают даже при внимательном обзоре кода. Рассмотрим очередной такой случай.
            Читать дальше →
          • Хотел красивую железку. Получилось

              Часть 1 >> Часть 2 >> Вы находитесь здесь


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


              Прошёл год с начала моего фанового проекта. Получилось! Та самая красивая железка выглядит вот так:
              Моя прелесссть


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

              Варим!
            • Ремонт принтера от мейнфрейма IBM 1401 эпохи 60-х

              • Перевод

              Мейнфрейм IBM 1401 (слева) в Музее компьютерной истории печатает фрактал Мандельброта на принтере 1403 (справа)

              В Музее компьютерной истории для демонстрации стоят два рабочих мейнфрейма IBM 1401, но несколько недель назад у одного из них внезапно отказал принтер. Я помог его починить, но это оказалось сложнее, чем мы ожидали. По ходу пришлось изучить логические схемы проверки ошибок в принтере, буфер печати и даже низкоуровневые сигналы ферритовой памяти. Эта статья о нашем расследовании и том, как мы всё-таки нашли неисправный германиевый транзистор.
              Читать дальше →
            • Человек-функция или перестаньте нанимать технологии

                Не думал что соберусь писать об этом статью и тем более на Хабр, но, как говорится, «с этим надо что-то делать». Наболело.

                За 10 лет своей карьеры сначала Системным Администратором, потом Системным Инженером и DevOps-ом, успев побыть простым исполнителем, тех- и тим-лидом, я посетил и провел десятки собеседований в компаниях разного размера в разных странах, учувствовал в формировании требований при поиске сотрудников и… ребята, найм — это мрак.

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

                Попробую объяснить почему.
                Читать дальше →
              • Корпоративный презерватив

                  — Чего?! Какая, к хренам, экономическая целесообразность? – вскочил со стула Сергей.

                  — Да она там через NPV, то есть чистую приведенную стоимость проекта, считается. – опешила и забормотала Ксения. – Поможете рассчитать?

                  — Ксения, вы в своем уме? – зло нахмурился Сергей.

                  — Сергей, не орите на меня, пожалуйста. – голос Ксении задрожал. – Мне и так тяжело, своей работы хватает, а тут еще это…

                  — Да я не на вас ору, а… — Сергей осекся, сделал неопределенный жест рукой. – В эфир, так сказать. Что, еще раз, вам надо рассчитать?

                  — NPV, чистая приведенная стоимость проекта. – Ксения, на всякий случай, прочитала по бумажке.

                  — Чистую приведенную стоимость проекта установки диспенсера для бумажных полотенец в туалете?!
                  Читать дальше →
                • Изучаем процессы в Linux


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

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

                      Заглядывать в будущее – рискованный талант, но сегодня на рынке микропроцессоров сложилась ситуация, которая, пожалуй, разворачивается впервые с 1978 года. Корпорация Intel, правившая балом производства полупроводниковых технологий, первый раз за 40 лет теряет хватку, уступая звание лидера небезызвестной компании TSMC, давно зарекомендовавшей себя в качестве партнера и производителя графических чипов NVidia, а с будущего года – и AMD.

                      image

                      Еще в далеком ныне 2014 году Intel планировала совершить очередной шаг вперед в покорении рубежей техпроцесса, представив первую модель, основанную на 10-нм технологии – но из-за технических проблем переход на новый, революционный по тем меркам техпроцесс, был отложен. Сначала на год, потом на два, а затем – на неопределенный срок. Впрочем, первые шаги к долгожданному переходу на 10-нм Intel все-таки сделала, представив на суд публике ультраэкономичные процессоры для тонких ноутбуков.

                      Но пока Intel топталась на месте с проблемной «десяткой», AMD успела сотворить невозможное. С выходом в 2016 году нового поколения процессоров Ryzen, красным удалось не только заинтересовать рядовых пользователей и энтузиастов, но и создать для себя универсальную платформу для дерзких экспериментов, благодаря чему свет увидели и профессиональные десктопные решения семейства Threadripper, и серверное семейство процессоров EPYC, вовсе перевернувшее все представления о возможностях красного гиганта, давно покинувшего этот сегмент рынка.

                      Всего за 2 года AMD успела поработать над ошибками, и представить уже новую, улучшенную версию прежней архитектуры, удивив и порадовав поклонников – Ryzen 2 учел практически все огрехи предшественника, Threadripper второго поколения обещает 32 (!) ядра там, где даже 16 неплохо удивляли, а EPYC вот-вот ворвется во множество компаний enterprise-класса, потеснив абсолютного короля серверного сегмента. К такому синие были совершенно не готовы…

                      image

                      Читать дальше →
                    • FAQ по междугородним пассажирским автобусным рейсам



                        Диск аналогового тахографа с записанной самописцем информацией (графики внизу и справа)

                        — Я пришёл на остановку за 2 минуты до отправления по расписанию и помахал рукой ушедшему автобусу. Что делать?

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

                        — Что это за тахограф на каждом автобусе?

                        Раньше это было нечто вроде часового механизма, соединённого со спидометром. Самые современные тахографы — это независимый аккумулятор, устройство хранения (обычно onboard-флеш), GPS/Глонасс-приёмник, акселерометр, входы для датчиков (уровень топлива, температура в салоне), интеграционный модуль для CAN-шины. Всё чаще их комплектуют GSM-модемами с M2M-сим-картами для удалённого получения данных перевозчиком (основного лога в реальном времени при наличии сети на маршруте или детальной выгрузки в конечном пункте). Тахографы постоянно совершенствуются, равно как и знания водителей о том, как их обмануть. Задача тахографа — фиксировать нарушения рабочего графика, видеть, когда водитель сгонял на дачу на служебном автобусе или сделал «левый» рейс, знать точный расход топлива.

                        — Есть ли автобусы с лежачими местами — можно ли ехать лёжа?

                        У нас по ПДД пассажир и водитель должны ехать сидя. Поэтому автобусов с лежачими местами нет. Точнее, изредка встречаются «лежанки», но они предназначены для отдыха водителей между рейсами. А, например, в Китае, Таиланде и Индии есть sleeping bus — как правило, ночные рейсы, где можно загрузиться и поспать до приезда.
                        Читать дальше →
                      • Как сэкономить память на вкладках браузера, но не потерять их содержимое. Опыт команды Яндекс.Браузера

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

                          Браузеры, основанные на Chromium, создают по процессу на каждую вкладку. У этого подхода множество достоинств. Это и безопасность (изоляция сайтов друг от друга), и стабильность (падение одного процесса не тянет за собой весь браузер), и ускорение работы на современных процессорах с большим количеством ядер. Но есть и минус – более высокое потребление оперативной памяти, чем при использовании одного процесса на всё. Если бы браузеры ничего с этим не делали, то их пользователи постоянно видели бы что-то подобное:



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

                          Также в Chromium уже достаточно давно работают над тем, чтобы останавливать JS-таймеры в фоновых вкладках. Иначе очистка кэшей теряет смысл, т.к. активности в фоновых вкладках их восстанавливают. Считается, что если сайты хотят работать в фоне, то нужно использовать service worker, а не таймеры.

                          Читать дальше →
                        • Как уйти на пенсию до 40 лет с миллионом долларов на счету в банке

                          • Перевод

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




                          Карл Дженсен испытал то, что он называет «пробуждением», примерно в 2012-м году.

                          Он работал программистом в пригороде Денвера, писал код для медицинского оборудования. Работа была напряжённой: ему приходилось документировать каждый шаг для Управления по санитарному надзору за качеством пищевых продуктов и медикаментов США (FDA), а ошибка в коде могла навредить или даже убить пациента.

                          Дженсен зарабатывал порядка $110 000 в год, у него был определённый соцпакет, но, казалось, что всё это не окупает стресса. Он не мог расслабиться с семьёй после работы; бывало, что целые дни он проводил, обнимаясь с унитазом. Он похудел на 5 кг.

                          После одного особенно брутального рабочего дня, Дженсен погуглил вопрос «как мне рано уйти на пенсию?», и глаза его открылись. Он посовещался с женой и составил план: в следующие пять лет они экономили значительную часть доходов, серьёзно урезали расходы, пока не собрали порядка $1,2 млн.

                          Во вторник 10 марта 2017 года Дженсен позвонил своему боссу и предупредил об увольнении после 15 лет работы в компании. Однако он не увольнялся, а уходил на пенсию. Ему было 43.
                          Читать дальше →
                        • Спустя пять лет вышла очередная версия DOSBox под номером 0.74-2

                            image К сожалению, пока внимание толп людей было приковано к анонсам таких гигантов индустрии как Apple, релиз одной некоммерческой, но довольно популярной игровой ретро-платформы, прошел почти незаметно. Вышел DOSBox 0.74-2.

                            Если вы каким-то чудом упустили эту эпоху, то напомню, что DOSBox — эмулятор для PC, создающий DOS-окружение, необходимое для запуска старых игр и программ (с определенными ограничениями) под MS-DOS. Это позволяет играть в такие игры во множестве операционных систем, не поддерживающих или поддерживающих DOS-программы не полностью, и на современных компьютерах, на которых старые программы могут не работать или работать с проблемами.

                            Безразличие людей можно понять, ведь тут всего лишь минорный релиз с баг-фиксами, а по соседству целых три варианта новейших iPhone презентуют. Однако, не стоит забывать, что этот минорный релиз готовили целых пять лет, а порты эмулятора существуют для полутора десятка операционных систем, среди которых есть MacOS и iOS. И какая другая программа, если не DOSBox, позволит вам в полной мере насладится всем разнообразием классических хитов серебряного века игровой индустрии?
                            Читать дальше →

                          Самое читаемое