Читать дальше →
User
Семь раз отмерь, а SOLID все равно не про ООП. Монолог об архитектуре
11 min
26K
Каждые 5 лет количество программистов увеличивается в два раза. И об этом знают уже все, кто хотя бы раз смотрел или читал Боба Мартина. Программное обеспечение есть повсюду. Вы не можете найти в мире такое место, где в радиусе трёх метров от вас не было бы программного обеспечения (на самом деле это про пауков, кажется, но я же просто шучу). И вот если обратить внимание, то окажется, что в ваших часах есть ПО, в вашем телефоне очень много ПО, в холодильниках у некоторых есть ПО, во всех современных автомобилях есть ПО, даже в некоторых собаках (не шутка) уже есть ПО и этот список можно долго продолжать.
Разработчик программного обеспечения в нашем современном мире имеет самое большое влияние. Буквально нет ни одного уголка человеческой жизни на этой планете, на который не повлияло бы качество нашего программного обеспечения Composing Software Eric Elliott. Но вместе с ростом количества разработчиков в современном мире растёт ли качество программного обеспечения? Да, количество разработчиков растёт, но растёт ли количество хороших разработчиков?
Знаете, если бы кто-то в прошлом (с десяток лет назад) мне сказал, что есть такие гайдлайны, от которых мой код изменится к лучшему, то я обязательно бы ознакомился с ними. Но к тому времени, как я понял, что мне нужно знать на самом деле, чтобы стать хорошим программистом, я успел написать уже очень много плохого кода. Надеюсь, что эта статья поможет некоторым изменить своё отношение к архитектуре.
+46
CANON 7 LTM. Дальномерный флагман от CANON, родом из 60-х
4 min
7.5KРазбираясь в шкафу, осознал что те плёночные фотоаппараты, которые оказались у меня, образуют маленькую, я бы даже сказал, малюсенькую, но уже коллекцию.

И я решил начать писать свои субъективные обзоры и проводить тест-драйвы интересных экземпляров, тем более, что информации про некоторые из них в рунете не так много.
Начать я хотел бы с фотоаппарата, который попал ко мне последним(на момент начала написания сего опуса, который затянулся на полгода) — это флагманская дальномерка от Canon родом из 1960-х — Canon 7.

И я решил начать писать свои субъективные обзоры и проводить тест-драйвы интересных экземпляров, тем более, что информации про некоторые из них в рунете не так много.
Начать я хотел бы с фотоаппарата, который попал ко мне последним(на момент начала написания сего опуса, который затянулся на полгода) — это флагманская дальномерка от Canon родом из 1960-х — Canon 7.
+33
Простейший металлоискатель своими руками
8 min
30K
Привет, Хабр! Что объединяет радиоприёмник, датчик охранной сигнализации, металлоискатель и музыкальный инструмент терменвокс? Прежде всего то, что все эти устройства реагируют на электрические и магнитные поля. А ещё многие из них имеют в своём принципе действия нечто общее.
Сегодня мы изучим историю и принцип работы металлоискателей, — индуктивных и ёмкостных датчиков, узнаем, что такое гетеродин, а также соберём и испытаем простой опытный экземпляр.
+36
Rust и Linux
8 min
26K
Во время прошлогодней Linux Plumbers Conference 2021 один из мейнтейнеров, Мигель Охеда, задался вопросом: нужен ли сообществу Rust в коде ядра Linux и что нужно для того, чтобы соответствующие патчи были приняты в древе проекта? Комментарии от разработчиков были в основном доброжелательными, но без фанатизма. Лидер проекта Линус Торвальдс сказал, что не против т․ н․ пилотной серии патчей на Rust, с оговоркой, что и остальные разработчики должны рассматривать их в качестве опытной партии.
Тут уместно вспомнить, что ядро Linux вероятно один из самых масштабных проектов с открытым исходным кодом и самый успешный, учитывая пройденный путь за более, чем 30 лет после опубликования версии ядра 0.01. Всё это время разработка велась и ведётся поныне на языке программирования C. Линус Торвальдс без ума от C и не раз высказывался в том духе, что от добра добра не ищут, и все остальные ЯП непригодны для разработки ядра.
+52
18 отборных однострочных команд Linux
4 min
40KTranslation

В этой статье я опишу ряд функциональных, полезных, а порой и опасных команд, чтобы продемонстрировать потенциал использования оболочки Bash в Linux.Некоторые из них, действительно, потребуют соблюдения осторожности, так как иначе можно потерять все свои данные. Другие же, наоборот, окажутся очень покладистыми и полезными для повышения эффективности работы.
Приступим!
+34
+48
Миниатюрные I2C процедуры для всех микроконтроллеров AVR
10 min
17KTranslation

В статье описывается набор минимальных процедур, позволяющих любому процессору Microchip/Atmel AVR подключаться к периферии по протоколу I2C. Для их демонстрации я спроектировал сканер портов, отображающий I2C-адрес сенсора на матричном дисплее, а также цифровой термометр, считывающий и отображающий температуру с I2C-датчика. Основное различие между моими процедурами и стандартной библиотекой Arduino Wire в том, что в них не используется буфер, то есть они не так требовательны к памяти и не накладывают каких-либо ограничений на передачу.
+31
+30
Kincony KC868-Server: не контроллер, а просто атомная бомба. Часть 1
9 min
21K
И вот мы, наконец, добрались до вершины технического творчества компании Kincony — её флагманского контроллера 868-й серии KC868-Server. Когда я первый раз увидел этот контроллер, у меня просто не было слов — кажется, это воплощённая мечта любого «автоматизатора» и гика — чего там только нет: ESP32, Raspberry Pi и ARM Cortex M3 в одном флаконе и всё это снабжено кучей периферии, разъёмов, антенн и т. д.
Подобная платформа может стать основой для разработки любого, даже самого изощрённого проекта по автоматизации — такой концентрации возможностей на одной плате я просто не встречал ранее, одних только модулей Wi-Fi на KC868-Server 3 штуки, 2 проводных Ethernet, 2 MCU и плюс полноценный Linux-компьютер — как говорил один известный персонаж «да это просто праздник какой-то».
Я бы сказал, что Kincony KC868-Server — это не контроллер, а просто атомная бомба и, конечно, мы не сможем отказать себе в удовольствии поближе с ним познакомиться, разобрать его устройство и, возможно, даже «запилить» на нём несколько умопомрачительных IoT проектов.
Итак, начнём…
+44
Internet Aestetics: пост-субкультуры поколения «зумеров»
7 min
6.8K
Этот формат появился ещё в начале 2010-х годов. Уже к середине десятилетия он обрёл устойчивую популярность, но долгое время оставался нишевым — и не слишком осмыслялся как явление культуры.
Всё изменилось в 2020 году. Теперь хештег #aesthetics вездесущ в Pinterest, TikTok и Instagram, а списки сформировавшихся и описанных интернет-эстетик насчитывают сотни наименований. Об aesthetics как пост-субкультурах поколения «зумеров» пишут культурологи и социальные антропологи, а крупные модные журналы отслеживают актуальные эстетики сезона.
+27
Крошечная библиотека TFT для микроконтроллеров ATtiny
8 min
17KTranslation

В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.
+52
Как я открыл компанию по созданию детских наборов электроники – Часть 2
Easy
14 min
16K
В прошлой части я описал первый год самостоятельной работы, где создавал набор электроники всё-в-одном. Набор должен был включать: азы электроники и пайку, программирование контроллеров, конструирование прототипов, создание законченных проектов. Я придумал проекты, заказал электронику, писал книгу-инструкцию, начал искать издательство для выпуска наборов.
Однако, всё пошло не по плану.
+102
Два простых высоковольтных генератора своими руками
7 min
30K
Привет, Хабр! Опыты с высоким напряжением, наверное, никогда не выйдут из моды. Есть в них какая-то особенная романтика, увлекающая не только старшеклассников. Сегодня рассмотрим пару простых схем: электрозажигалку на блокинг-генераторе и музыкальный трансформатор Теслы на основе качера Бровина. Давайте соберём и испытаем оба устройства.
+53
Детальный анализ вредоносного ПО, замаскированного под NOTEPAD++
7 min
9.5KTranslation

Lazarus привлекала своих жертв при помощи документов о вакансиях в таких компаниях, как LockHeed Martin, BAE Systems и Boeing. В данном конкретном случае злоумышленники привлекали жертв, ищущих работу в Boeing, при помощи документа Boeing BDS MSE.docx ( твит ShadowChasing1). Вредоносное ПО извлекает имя хоста, имя пользователя, информацию о сети, список процессов и другую информацию, которая затем должна была передаваться на один из четырёх серверов C2. Предназначенные для передачи данные сжимались, шифровались XOR, кодировались Base64 и отправлялись на сервер C2. Троян реализует четыре действия, в том числе скачивает и исполняет файл .exe или .dll, загружает PE (Portable Executable) в память процессов и исполняет шелл-код.
+22
+138
Создание демки специально для HABR — Часть 3
8 min
4.3KTutorial
Наконец-то мы подобрались к финальной части большой саги о создании демки для ПЭВМ «Микроша». В предыдущих первой и второй части я реализовал заходник, само видео вращения, и понял, как сделать звук. Теперь осталось всё свести воедино, исправить некоторые недочёты и добавить нормальную музыку. Но, как обычно, дьявол кроется в мелочах.
+63
Аппаратный взлом
10 min
15KTutorial
Translation

Эта статья предназначается для всех, кто имеет опыт в разработке *nix/ПО/эксплойтов, но не обладает или почти не обладает знаниями оборудования/электроники! Хоть мы и не будем рассматривать все подробности простых схем (для этого есть множество отличных онлайн-ресурсов), информация изложена так, что не требует предыдущего опыта работы.
Основная задача статьи — помочь тем, кто пытается заниматься исследованием уязвимостей и/или разработкой эксплойтов физического устройства без системы отладки, оболочки и прошивки. Иными словами, мы попробуем добраться до root shell без сложностей поиска уязвимостей нулевого дня!
+36
Вспоминаем Apple Newton 30 лет спустя
10 min
11KTranslation

Тридцать лет назад 29 мая 1992 года Apple анонсировали на тот момент революционный девайс, Newton MessagePad. Он торжественно вышел год спустя, но как продукт успеха не имел. Вызвавший немало шуток со стороны массовой культуры, Newton стал собирательным примером дорогостоящих, но бесполезных высокотехнологических гаджетов. И даже несмотря на последующие серьёзные доработки рынок этот продукт так и не принял, что привело к закату его недолгой жизни в 1997 году. Тем не менее этот провал Newton подтолкнул инженеров Apple на создание чего-то лучшего и отчасти привёл к появлению iPad и iPhone.
+46
Создание демки специально для HABR — Часть 2
10 min
5.2KTutorial

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