• Делаем копию карты-пропуска по фото

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


      Читать дальше →
    • Любовь, смерть и роботы: рассматриваем рассказы Азимова глазами разработчика



        В честь Дня программиста мы решили немного расслабиться и перечитать любимые рассказы Айзека Азимова. И тут нас ждало открытие: оказывается, писатель-фантаст более полувека назад достаточно точно описал многие реалии современной разработки. Как это возможно, спросите вы? Давайте разберёмся вместе. 
        Читать дальше →
      • Эмулятор RFID

          Эмулятор карт EM Marine



          Наверняка каждому из нас, кто хоть раз бывал в обычных офисах, было интересно, как же функционируют эти бесконтактные пропуска. В данной статье мы разберёмся с принципом работы бесконтактных карт и сделаем эмулятор буквально из трёх радиодеталей.
          Читать дальше →
        • Blender 3D для 3D печатников

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

          Верная позиция! Но часть задач всё-таки можно закрыть полигональным моделированием.

          Собрал здесь ответы на четыре самые частые и неочевидные проблемы.

          image
          Читать дальше →
        • Индикатор на лобовом стекле для автомобиля на Arduino и ELM327

          • Перевод


          Некоторое время назад мне удалось немного посидеть за рулём C6 Corvette, оснащённого индикатором на лобовом стекле (ИЛС или HUD) – и мне это очень понравилось. Возможность видеть скорость и обороты двигателя, не отрывая глаз от дороги, делает вождение приятнее.

          И с тех пор я хотел сделать ИЛС для своего автомобиля. Разбираясь с применением OBD2 и Arduino для хака автомобилей, я решил сделать себе этот прибор с нуля. Представляю вам материал, который поможет вам сделать свой собственный экземпляр.

          Нам понадобятся:
          Читать дальше →
        • Как я хакнул контроллер Nintendo Joy-Con

          • Перевод

          Хирургическая имплантация ёмкостного трекпада с технологией 3D-Touch на место оригинального аналогового джойстика




          В 2020-м году во время пандемии бывает скучно, и отсутствие возможностей творческого развития усложняет жизнь. Однако когда у вас есть набор инструментов с большим количеством электроники, на множество старых вещей, лежащих у вас на столе, можно взглянуть по-новому. Так и произошло с моим Nintendo Switch – ведь раньше у меня не было возможности разобрать контроллер Joy-Con. Прекрасная возможность поковыряться в его внутренностях.

          Дайте-ка я сначала посмотрю в интернете, не возникло ли у кого безумной идеи заменить старый добрый аналоговый джойстик ёмкостным трекпадом? Не возникло.

          Макгайвер одобряет.
          Читать дальше →
        • Сломанный алгоритм, отравивший американскую транспортную систему

          • Перевод

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




          В ноябре 2011 года проектная организация мостов Луисвилля и Южной Индианы через реку Огайо опубликовала документ на 595 страниц, который должен был поставить финальную точку в споре по поводу шоссе, длившемся несколько десятилетий. Проект, мягко говоря, оказался противоречивым.

          В то время, как множество городов по всем США пытались понять, нужны ли им городские шоссе в деловых районах, Луисвилл принялся за их строительство с удвоенной силой. Он не только хотел оставить печально известную «спагетти-развязку» им. Кеннеди, где узлом завязываются шоссе 64, 65 и 71 – он хотел её надстроить. Политический альянс, продвигающий этот проект, пытался расширить шоссе I-64, чтобы удвоить количество полос, а также построить новый мост недалеко оттуда, вниз по течению. Это удвоило бы количество полос пересекающих реку, с 6 до 12, «всего» за $2,5 млрд.
          Читать дальше →
        • Гены Ардуинщика



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

            При кажущейся простоте задачи поломать мозг придется день, а то и два. Без опыта — месяц.
            И… лень взяла свое.
            Читать дальше →
          • Проект «Радуга» – попытка показать цветное изображение на чёрно-белом мониторе

            • Перевод
            Целью данного проекта было вывести цветное изображение на чёрно-белый монитор путём наложения на экран распечатанного на ацетатной плёнке (на струйном принтере) фильтра Байера. Цветное изображение получается как мозаика.

            Я купил на eBay ч/б монитор Eizo для просмотра ч/б фотографий, и мне стало интересно, смогу ли я воспроизвести эффект типа автохрома, в котором цветные фильтры из крупинок крахмала накладываются на ч/б фотопластинку, давая цветное изображение.

            На фото ниже дано увеличенное дешёвым USB-микроскопом в 500 раз изображение пикселей, из которых состоит ч/б ЖК-дисплей. Сначала я подумал, что каждый пиксель составлен из 4 субпикселей, но потом пришёл к выводу, что каждый пиксель состоит из трёх групп светодиодов в форме < (см. далее).

            Читать дальше →
          • Почему функциональное программирование такое сложное

            • Tutorial

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


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


            Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

            Читать дальше →
          • Прощай, Google! 15 Альтернативных поисковиков, которые не шпионят, а сажают деревья и раздают воду



              Аве Кодер!

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



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

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

                И вообще вели себя вызывающе с точки зрения ИТ.

                При этом объём кода, нужные мощности и сложность реализации процессов росли. Дело в том, что такая деавтоматизация требует очень нехилых вложений в ИТ. Сейчас объясню на примерах, в чём дело и зачем мы так странно делаем.
                Читать дальше →
              • Проблема с экструзией? Вам сюда

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

                  Кроме того, текст рассчитан на людей, имеющих минимальный опыт с 3D печатью.

                  Исключительно по причине не раздувать статью и не объяснять назначение разных деталей и сленговых словечек. Начну с предыстории. Чуть меньше года назад купил себе недорогой 3D принтер. Один из самых популярных (не на правах рекламы, а что бы было понятно о чем речь) — Ender 3. Сборка была несложная, в Сети есть много рекомендаций. Конечно, собирая его по инструкции — получил бы нерабочий агрегат, но предварительно «покурив мануалы», удалось выполнить первую пробную печать на 5 с плюсом для такой простой машинки! Все было хорошо до определенного момента. Но дальше началось…

                  image

                  Если интересно что, добро пожаловать.

                  Для тех, кому лень читать:
                  Сломался рычаг прижимного ролика экструдера.
                  Читать дальше →
                • Проект длиной в 8 лет — знал бы, ни за что не ввязался: свой 2-тактный мотор

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

                    Прошло уже 6 лет с момента выхода первой и последней заметки по этому проекту(Свой 2-тактный мотор. CR620 рекомендуется к ознакомлению). Тогда я остановился из-за проблем с аутсорсом в металлообработке. Кто не может, кто не хочет, кто делает бесконечно долго, кто и детали назад возвращать не хочет. А город в котором я живу имеет славную промышленную историю и был центром Петровской индустрии 18-века, но от славного прошлого ныне остался один корень в названии города и несколько действующих предприятий, на которых занято порядка единиц процентов населения. А сейчас не 90-е и даже не 00-е, когда можно было договорится с человеком с завода чтобы он что-то такое эдакое для тебя сделал. Теперь у них есть работа и КПП на входе, как я потом узнал — номинальное. Вся эта история с передачей деталей где они лежат, а не делаются, поиск новых мест и тому подобное блуждание длилась несколько лет. Оказалось, что отлить сложную алюминиевую отливку у сарая на родительской даче я смог, а обработать, что не выглядело проблемой изначально — нет.

                    Читать дальше →
                  • 4 часа без смартфона. Дурацкий пост на серьёзную тему

                      Сколько раз за день вы берёте смартфон в руки? Кто вы — суровый стоик-разработчик со спартанской кнопочной моделью или нервная пиарщица, которая 24/7 онлайн? Я всегда думал, что я скорее аскет, который активно использует смартфон, но в любой момент может переключиться на кнопочную модель. Хотя в некотором пристрастии к необычным телефонам мне не откажешь: среди моих любимчиков были QWERTY-смартфоны Samsung и аж три Nokia E63 — последнюю я купил, когда у моих коллег уже был четвёртый айфон. Но мир шёл дальше и вот уже три года у меня iPhone SE — тот самый, компактный, легендарный, классный. И всё было бы хорошо, если бы не пара поломок: перестал держать аккумулятор и сломалась кнопка Power. Потерпев неудобства с пару недель, я отдал его в ремонт.

                      — Вернём через три часа, — мастер выдал квитанцию. Я вышел в город. Нет. Другой человек вышел в другой город.

                      Читать дальше →
                    • «Остановите Total Commander!» или главная проблема свободного ПО

                      Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.


                      Поехали!

                      Читать дальше →
                    • Моя USB визитка

                        Всем привет!

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


                        Читать дальше →
                      • Discret 11: краткая история шифрования французского телеканала

                        • Перевод

                        Я провёл своё детство во Франции, много играл в футбол и слишком долго смотрел телевизор. В 80-х во Франции было три телеканала. Два из них, Antenne 2 и FR3, финансировались государством и были скучными, а TF1 был частным и показывал много японских мультиков. Моё поколение выросло на «Капитане Цубасе», «Святом Сейя», «Капитане Харлоке» и «Грендайзере».

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

                        Всё изменилось в 1984 году с появлением четвёртого канала. Canal Plus (Channel Plus) должен был совершить революцию на рынке телеканалов, показывая современные фильмы, спортивные трансляции со всего мира и не имея при этом рекламы. Для удовлетворения амбиций владельцев «Canal» должен был финансироваться ежемесячной абонентской платой подписчиков.

                        Техническая трудность такой схемы была совершенно понятна. Как гарантировать, что канал смогут смотреть только заплатившие абоненты, если его сигнал транслируется всем? Легко — достаточно закодировать его технологией под названием «Discret 11».
                        Читать дальше →
                      • WFH убивает Кремниевую Долину?

                          Work From Home, Forever


                          Все резко уселись дома, нацепили свои sweatpants (а может быть, даже и нет), и начали упорно работать, работать, работать… но это неточно:



                          FAANG мечется туда-сюда, и никак не может понять — что же со всем этим делать.


                          Разработчики валят из Долины в более дешевые и хорошие места, с урезанием base salary, но оставляя свои сладкие RSUs.


                          Так что — это конец?!

                          Читать дальше →
                        • Как ‌С#-разработчик у JavaScript плохому учился



                          Недавно мне на глаза попалась одна статья на Хабре. В ней сравниваются C# и JavaScript. На мой взгляд, сравнивать их — всё равно что сравнивать луну и солнце, которые, если верить классику, не враждуют на небе. Эта статья напомнила мне о другой публикации. В ней речь идёт о сценариях неожиданного и неочевидного поведения JavaScript, а C# не упоминается от слова совсем, но живое любопытство сподвигло меня попытаться повторить подобное поведение на другом языке.
                          Читать дальше →