• Равномерное перемещение объекта вдоль кривой



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

      Наверное, каждый имеющий отношение к теме знает или, по крайней мере, слышал, про кривые Безье, B-сплайны, сплайны Эрмита и прочие интерполяционные и сглаживающие сплайны и совершенно правильно предложил бы использовать в описанной ситуации один из них, но не всё так просто, как хотелось бы.
      Читать дальше →
    • Генеральный конструктор vs Скрам-мастер

        image

        «Каспийский монстр» — советский экраноплан, который весил 544 тонны, что делало его самым тяжелым летательным аппаратом в мире. Сделан с нуля за два года. Думай об этом, закачивая лэндинг по продаже трусов «всего» за полгода.

        Я бы хотел рассказать о некоторых приемах древнего(доскрамового периода) менеджмента, которые позволяли добиваться таких результатов. Поднять в воздух на новом принципе железную бандуру размером с хрущевку и разогнать ее до пятисот киломtnров в час, по мне — это более творческая и технически сложная задача, чем открытие очередного интернет магазина, поэтому возможно стоит перенять опыт предков.
        Читать дальше →
      • Когда дела плохи, мотивация прибылью не работает

        Перед тем, как читать дальше, посмотрите таблицу оценки проекта его участниками.



        Столкнувшись с трудностями некоторых наших проектов у меня появилось желание сделать упор на мотивацию разработчиков. Я думал, что это ключ к решению проблемы и для высокой мотивации необходимы минимальные оклады и значительная доля в прибыли. В то же время работникам, занятым в трудных проектах, хотелось ровно противоположного — стабильный рыночный оклад, чем какая-то там непонятная прибыль.
        Читать дальше →
      • 13 сюрпризов неайтишной компании

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

          Пару-тройку лет назад подобные соображения подтолкнули меня попробовать поработать в компании, где источником дохода является что угодно, только не разработка софта. Удачно подвернулось предложение от бывших коллег занять должность IT-директора в одной из ведущих организаций финансовой сферы, и я приступил к кипучей деятельности, браво закатав рукава. Теперь, спустя некоторое время, с высоты, так сказать, полученного опыта, хочу поделиться сюрпризами, что ожидали меня на этом пути – конечно, те, кому уже довелось поработать в разных сферах и разных организациях, скорее всего не обнаружат тут для себя ничего ни нового, ни удивительного, однако для наивных айтишников вроде меня, видавших доселе только однотипные «бодишопы»-аутсорсеры, что-то может показаться и вправду неожиданным.
          Итак, поехали
        • Освободи свой Android



            Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.

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

            Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
            Читать дальше →
          • Flipper Zero — пацанский мультитул-тамагочи для пентестера

              Flipper Zero — Multi-tool Device for Hackers

              Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

              Он будет уметь:

              • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
              • NFC — читать/записывать и эмулировать карты ISO-14443.
              • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
              • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
              • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
              • Bluetooth — поддерживается пакет bluez для Linux
              • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
              • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

              Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
              В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
              Читать дальше →
            • Как спроектировать корпус для прибора. Полное руководство

              • Tutorial
              От идеи до серийного производства: подробно об этапах разработки и о технологиях производства корпусов — факты, примеры из практики, фото. Если вам нужен корпус для прибора, обязательно прочитайте.

              image
              Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.

              Ни одной. Всё, что есть в интернете, касается лишь одного или двух аспектов этого процесса. Ну например: давайте набросаем корпус и распечатаем на 3D-принтере. Или купим типовой и насверлим в нём отверстий. Хотя на Хабре и есть пара материалов, но они тоже не так полны информацией, как могли бы быть.

              Но так, чтобы были расписаны все этапы, от идеи до серийного производства, — я такого не нашёл. Поэтому решил написать своё руководство, максимально наполненное фактами, картинками и примерами.

              Как спроектировать корпус — схема работы


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

              Разработка корпуса — процесс, разбитый на несколько обязательных этапов. Это даже обсуждать не буду: проверено много раз. Даже если вы не собираетесь связываться с «большим» производством (например, если планируете делать устройство только для себя), всё равно лучше бы вам соблюдать правильную последовательность этапов.

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

              Вот схема, по которой мы пойдем:
              Читать дальше →
            • Если вы что-то создаёте, избегайте расписания менеджера

              • Перевод


              В книге ”Masters of Doom” о компании id Software и её влиянии на массовую культуру Дэвид Кушнер размышлял о необычном стиле работы ведущего программиста Джона Кармака.

              Чтобы повысить производительность и не отвлекаться от работы над движком Quake, тот принял агрессивный подход — начал постепенно смещать начало рабочего дня. В конце концов Джон садился программировать вечером, а заканчивал перед рассветом. Эти непрерывные отрезки тишины, изоляции и глубокой работы позволили ему создать первый в мире сверхбыстрый 3D-движок. Игра Quake произвела настоящий фурор.
              Читать дальше →
            • Хроники книжного голода

                image

                Как-то раз, уже на излете СССР я прочитал распечатку отдельных мест знаменитой кулинарной книги 1861 года г-жи Е. И. Молоховец: «Подарокъ молодым хозяйкамъ, или Средство къ уменьшенiю расходовъ в домашнемъ хозяйстве». Рецепты в стиле: «Самую красивую копченую голову старого вепря очистить, сварить, как копченый окорок...» или «Если к вам пришли гости, а у вас ничего нет, пошлите человека в погреб, пусть принесет фунт масла, два фунта ветчины, дюжину яиц, фунт икры, красной или черной и приготовьте легкий ужин по следующему рецепту…» читались уморительно смешно. Людям, не заставшим СССР, наверное, уже не понять над чем я тогда смеялся.

                Поздний СССР был удивительным, во многом забавным и парадоксальным обществом тотального дефицита. Искусственно создаваемый властями дисбаланс цен приводил к тому, что многие товары, продававшиеся дешевле рыночной цены, практически никогда не доходили до прилавка, распределяясь среди «своих», сразу переходя на черный рынок.

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

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


                Зачем это необходимо? Программа — это последовательность команд по обработке данных (в самом общем случае). Эти данные необходимо некоторым образом хранить, загружать, передавать и т.д. Все эти операции не происходят мгновенно, следовательно, они непосредственно влияют на скорость работы вашего конечного приложения. Умение оптимально управлять данными в процессе работы позволит вам создавать весьма нетривиальные и очень требовательные к ресурсам программы.


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



                Невозможно все держать в памяти. Но если не успел подгрузить, то получишь мыло

                Читать дальше →
              • Асинхронное общение — вот настоящая причина, почему удалённая работа более эффективна

                • Перевод

                Теперь асинхронную связь внедряют не только на удалёнке



                Иллюстрация: Yin Weihung

                Исследование за исследованием вновь доказывают, что удалённые работники более продуктивны, чем их коллеги в офисе.

                Только не совсем понятно, почему.

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

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

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

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

                  image
                  (рабочее место одного из наших сотрудников)
                  Читать дальше →
                • Sampler. Консольная утилита для визуализации результата любых shell команд

                    В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.


                    Sampler


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


                    Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

                    Читать дальше →
                  • Онлайн сервис «Анализ скорости при ДТП по видеозаписи»


                      В тестовой версии заработал онлайн сервис, который показывает текущую скорость интересующих нас объектов (автомобилей и других средств передвижения) по записям с видеокамер на перекрестках.
                      Читать дальше →
                    • WexLang — мой сервис для изучения английского языка

                        Здравствуйте!

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

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


                          Читать дальше →
                        • Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8

                          • Tutorial


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


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

                          Читать дальше →
                        • Ардуино термометр & гигрометр с E-PAPER на nRF52832 — или о том, что забыли выпустить производители

                            Приветствую всех читателей Habr! В своей очередной статье снова поведу речь о ARDUINO. Хочу поделиться с вами очередным своим проектом, реализованном на микроконтролере nRF52832. Это датчик температуры и влажности на sht20 | (даташит) c монохромным дисплеем на электронных чернилах(E-INK|E-PAPER), который является частью экосистемы MySensors.

                            Читать дальше →
                          • Резистор в цепи затвора или как делать правильно



                              Всем доброго времени суток!

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

                              Любому из этих случаев я буду очень рад.
                              Читать дальше →
                            • Исследование VW показывает экологическую рентабельность Golf-Е после 100 000 км пробега



                                По заказу VW было проведено одно из наиболее масштабных исследований экологической «стоимости» производства и эксплуатации электромобиля и аналогичного ему автомобиля с ДВС, где учитывалось большое количество факторов, включая источники выработки электроэнергии, используемой для приведения в движение транспортного средства, вторичная переработка, суммарные выбросы CO2 как во время производства, так и во время эксплуатации. Сам VW назвал подобный подход «Cradle to Grave» (вольный перевод: «от люльки до гроба»).

                                Для получения наиболее точного представления были выбраны «аналогичные» автомобили, то есть электрический гольф, а так же гольф с дизельным ДВС, бензиновым ДВС и газовым ДВС.
                                Читать дальше →