• Тренируемся дома: отжимания по программе Пола Уэйда

    • Translation

    image


    Представляю программу Тюремных Тренировок Пола Уэйда. Начнём с серии классических упражнений со своим весом для верхней части тела — отжиманиям.


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


    Серия сосредоточена на цепочке из 10 последовательных упражнений. Когда освоите одно упражнение, то перейдёте к следующему и так далее…
    Мы называем базовые упражнения как «10 уровней», и достигнув 10 уровня, вы станете сильнейшим настолько, насколько это возможно для человека в этих движениях. По этой причине, последняя ступень именуется «уровнем мастера». Вам станет понятнее, как это работает, если дополнительно ознакомитесь с книгой Тренировочная Зона (Издательство Питер).

    Читать дальше →
  • Как не испортить своего джуна



      Меня зовут Дима Вдовин, я разработчик команды корпоративных рисков. Сегодня я хотел бы поговорить о джунах и их интеграции в команду разработки. С одной стороны, тема банальная и известна всем, а с другой, о ней часто забывают или игнорируют. Почему-то многие команды и руководители считают, что джун вольется в коллектив и работу над проектом как-то «самостоятельно», без активной поддержки, а если не вольется — значит он не справляется и не подходит. Это не так.

      Мы крупный банк, к нам приходит работать много молодых ребят и в большинстве случаев для них это первая работа такого рода. Это тянет за собой целый ворох проблем, связанный со страхами неизвестности, неуверенностью, боязнью «уронить прод». Они боятся совершить серьезную ошибку, которая поставит крест на карьере в IT. Это сейчас подавляющее большинство из нас — опытных разработчиков — уверенные в себе профессионалы. Мы можем позволить себе хотя бы на время отказаться от подобной саморефлексии и делать «быстрее, выше, сильнее». Многих же джунов одолевают страхи, которые если и не парализуют, то заставляют их выверять каждый шаг.
      Читать дальше →
    • Генератор своими руками на 220 вольт. Теперь отключения света не страшны

      • Tutorial
      Я покажу как собрать простой, но достаточно мощный, генератор на 220 вольт.



      Потребуется:


      — коллекторный мотор, можно другой на 12 вольт
      — насадка на ось мотора — патрон от дрели
      — бесперебойник UPS или инвертор с 12 на 220
      — диод на 10 ампер: Д214, Д242, Д215, Д232, КД203 и т. д.
      — провода
      — велосипед
      — и желательно аккумулятор на 12 вольт

      Сборка:


      — закрепляем велосипед так, что бы заднее колесо крутилось свободно, вывешиваем его
      — прикручиваем патрон на ось мотора
      — крепим мотор так, что бы патрон плотно прижимался к колесу, можно подтянуть его пружиной
      — подключаем мотор к аккумулятору: минусовой провод мотора к минусу аккумулятора, плюсовой провод мотора к аноду диода, катод диода к плюсу аккумулятора
      — аккумулятор соединяем с бесперебойником или с инвертором
      Всё! К бесперебойнику можно подключать потребители на 220 вольт и пользоваться электричеством! Как только аккумулятор разрядится, достаточно будет покрутить педали и примерно через час аккумулятор зарядится.
      Читать дальше →
    • 3D ML. Часть 3: датасеты и фреймворки в 3D ML


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


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

        Читать дальше →
      • Полноценный Kubernetes с нуля на Raspberry Pi

        • Tutorial


        Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, что это ARM. Тогда мне и в голову не приходило, что ARM — это довольно серьезно…

        Для меня эта архитектура всегда была уделом мобильных и прочих IoT-штучек. «Настоящие» серверы на ARM — как-то необычно, в чем-то даже дико… Однако новая мысль засела в голову, поэтому в один из выходных решил проверить, что вообще можно сегодня запустить на ARM. И для этого решил начать с близкого и родного — кластера Kubernetes. Причем не просто какого-то условного «кластера», а всё «по-взрослому», чтобы он был максимально таким же, каким я привык его видеть в production.

        По моей задумке, кластер должен быть доступным из интернета, в нём должно выполняться некоторое веб-приложение и еще должен быть как минимум мониторинг. Для реализации этой идеи понадобится пара (или больше) Raspberry Pi не ниже модели 3B+. Площадкой для экспериментов могла бы стать и AWS, но мне были интересны именно «малины» (которые всё равно стояли без дела). Итак, мы развернём на них кластер Kubernetes с Ingress, Prometheus и Grafana.
        Читать дальше →
      • Декодируем JPEG-изображение с помощью Python

        • Translation

        Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется алгоритм сжатия JPEG. К концу статьи вы будете гораздо лучше понимать, как этот алгоритм сжимает данные и как написать код распаковки на Python. Мы не будем рассматривать все нюансы формата JPEG (например, прогрессивное сканирование), а поговорим только о базовых возможностях формата, пока будем писать свой декодер.
        Читать дальше →
      • Делаем приватный монитор из старого LCD монитора

        • Translation


        Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.

        Всё что Вам нужно – это пара старых очков, нож для бумаги и растворитель для краски.

        Читать дальше →
      • Стоит ли оптимизировать обработку изображений на С++ при помощи SIMD?

          SIMD и обработка изображений


          Обработка изображений (здесь мы сознательно ограничиваем в себя только растровыми картинками и опускаем широкий класс векторных изображений), как правило, представляет собой набор простых операций, которые применяются к каждой точке изображения. Если учесть, что цветовые каналы, из которых состоит точка изображения (пиксель) обычно представлены в виде целых чисел небольшой размерности, то обработка изображения сводится к огромному числу однотипных операций над 1-2 байтными целыми числами.
          image
          Читать дальше →
        • learnopengl. Урок 1.1 — OpenGL

          • Translation
          • Tutorial
          Здравствуйте. Несколько недель назад я начинал серию переводов статей по изучению OpenGL. Но на 4 статье один хабровчанин заметил, что мои переводы могут нарушать лицензию, по которой распространяются учебные материалы, предоставленные в исходной статье. И действительно, мои переводы нарушали лицензию. Для разрешения этой проблемы я обратился к авторам того набора уроков, но так и не смог добиться нормального ответа. По этой причине я связался с автором другого, не менее (а возможно даже и более) крутого, набора уроков по OpenGL: Joey de Vries. И он дал полное разрешение на перевод его набора уроков. Его уроки гораздо более обширные, чем прошлый набор, поэтому эти переводы растянутся на долго. И я обещаю, будет интересно. Заинтересовавшихся прошу под кат.

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

          На счет уроков по Vulkan: к сожалению мне тяжело сейчас написать уроки по данному API по причине скудной видеокарты на данный момент, которая просто не поддерживает Vulkan API, поэтому уроки по данному API будут только после обновления видеокарты.
          Читать дальше →
          • +39
          • 226k
          • 9
        • Как ускорить игру «Жизнь» в сто раз

          image

          Сложно найти человека, не знакомого с игрой "Жизнь", придуманной английским математиком Джоном Конвеем еще в 1970 году, и до сих пор не теряющей своей популярности. Многие программисты писали свою реализацию этой игры, и еще одна вряд ли кого-то удивит. Однако эта игра является отличным примером, показывающим, насколько полезной может оказаться оптимизация вычислений, даже не меняющая асимтотическую сложность алгоритма. Мы начнем с простейшей реализации на c# и будем последовательно применять различные оптимизации, ускоряя работу программы.

          Мы также улучшим алгоритм на JavaScript, ускорив его в 10 раз по сравнению с неоптимизированной версией.

          В конце статьи дана ссылка на код, а также на online-реализацию игры с оптимизированным алгоритмом на JavaScript, выполняющим до двухсот итераций в секунду на поле размера 1920x1080 (Full HD), где вы можете убить время поиграть в эту замечательную игру.
          Читать дальше →
        • JavaScript, Node, Puppeteer: автоматизация Chrome и веб-скрапинг

          • Translation
          Библиотека puppeteer для Node.js позволяет автоматизировать работу с браузером Google Chrome. В частности, с помощью puppeteer можно создавать программы для автоматического сбора данных с веб-сайтов, так называемые веб-скраперы, имитирующие действия обычного пользователя. В подобных сценариях может применяться браузер без пользовательского интерфейса, так называемый «Headless Chrome». Используя puppeteer, можно управлять и браузером, который запущен в обычном режиме, что особенно полезно при отладке программ.

          image

          Сегодня мы поговорим о создании веб-скрапера на базе Node.js и puppeteer. Автор материала стремился к тому, чтобы статья была интересна как можно более широкой аудитории программистов, поэтому пользу из него извлекут как те веб-разработчики, которые уже имеют некоторый опыт работы с puppeteer, так и те, которые впервые сталкиваются с таким понятием, как «Headless Chrome».
          Читать дальше →
        • Верификация цифровых схем. Обзор

          image


          Я постараюсь в общем рассказать о верификации цифровых схем.


          Верификация в данной области — это важный процесс, требующий привлечения опытных инженеров. Например, специалист по верификации, работающий над системами с ЦПУ, как правило должен владеть скриптовыми языками и языками командных оболочек (Tcl, bash, Makefile и т.п.), языками программирования (С, С++, ассемблер), HDL/HDVL (SystemVerilog [10, Appendix C — история языка][11], Verilog, VHDL), современными методологиями и framework’ами (UVM).


          Доля времени, затраченного на верификацию, доходит до 70-80% от всего времени проекта. Одна из основных причин такого внимания в том, что к микросхеме нельзя выпустить “патч” после того, как ее отдали в производство, можно только выпустить “silicon errata” (это не касается проектов ПЛИС/FPGA).


          Под цифровыми схемами я подразумеваю:


          • сложно-функциональные блоки/intellectual properties (СФБ/IP);
          • специализированные заказные микросхемы/application-specific integrated circuit (ASIC);
          • проекты программируемых логических интегральных схем/field-programmable gate array (ПЛИС/FPGA);
          • системы на кристалле/system-on-crystal (СнК/SoC);
          • и т.п.
          Читать дальше →
        • 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard)

          • Translation
          Data Science для начинающих

          1. Sentiment Analysis (Анализ настроений через текст)


          image

          Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R.

          Sentiment Analysis — это анализ слов для определения настроений и мнений, которые могут быть положительными или отрицательными. Это тип классификации, при котором классы могут быть двоичными (положительными и отрицательными) или множественными (счастливыми, злыми, грустными, противными ...). Мы реализуем этот Data Science проект на языке R и будем использовать набор данных в пакете «janeaustenR». Мы будем использовать словари общего назначения, такие как AFINN, bing и loughran, выполнять внутреннее соединение, и в конце мы создадим облако слов, чтобы отобразить результат.

          Язык: R
          Набор данных/Пакет: janeaustenR
          Читать дальше →
          • +15
          • 18.9k
          • 5
        • Бег — идеальный спорт для удаленщика. Часть 2: физика и матчасть



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

            Итак, что даёт нам бег?
            Читать дальше →
          • Анатомия акустических систем: металлокерамика и композиты — о диффузорах Monitor Audio

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


              Британская компания Monitor Audio известна, как один из таких производителей. На счету британцев сразу несколько технологий, позволяющих радикально увеличить качество воспроизведения звука, при этом не жертвуя КПД. АС от Monitor Audio я считаю одними из самых технологически емких в мире и, пожалуй, наиболее инновационными среди аналогичных устройств от европейских производителей. Внушительная часть инноваций и технологий относится к материалам диффузоров. Под катом речь об этих технологиях и свойствах, которые можно получить благодаря их применению.
              Читать дальше →
            • Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)



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

              Будем считать, что «лучшие времена» — наступили.
              Читать дальше →
            • ARM-микроконтроллеры STM32F. Быстрый старт c STM32-Discovery

              При изучении image любого незнакомого дела, особенно когда речь идет о микроконтроллерах, возникает вопрос — «С чего начать». Ведутся поиски статей по ключевым словам «Getting Started», неизбежно появляется дилема выбора среды разработки и программатора-отладчика. Чтобы помочь вам определиться с ответами на возникшие вопросы, я поделюсь своим опытом в освоении 32-битных контроллеров семейства STM32F от ST Microelectronics.

              Выбор контроллера


              Вариантов по сути дела было два — STM32F или NXP (LPC1xxx). На микроконтроллеры STM32F мой выбор пал по нескольким причинам.
              Читать дальше →
            • Первая в мире гидропонная солнечная ферма: морская вода + солнечный свет = помидоры


                Теплицы с томатами, зеркала и солнечный концентратор на ферме Sundrop. Фото: Sundrop

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

                Австралийская ферма Sundrop — первая в мире ферма, которая выращивает овощи в пустыне, не используя никакого ископаемого топлива. Только солнечный свет и морская вода (и удобрения).
                Читать дальше →