Как стать автором
Обновить
36
0
Игорь @K0shi

Пользователь

Отправить сообщение

Миникомпьютер из роутера с OpenWRT: разрабатываем USB-видеокарту

Время на прочтение25 мин
Количество просмотров185K

Добрый день, уважаемые хабровчане. В этом цикле статей мы с вами пройдем достаточно длинный, но весьма интересный путь по превращению обычного роутера в мини-компьютер с LCD-дисплеем. Для этого мы разработаем сначала USB-видеокарту на базе микроконтроллера STM32F103, потом тестовый драйвер, который позволит нам выводить на него графику, и, наконец – полноценный драйвер фреймбуффера, благодаря которому можно будет запустить настоящие графические приложения, такие как x-сервер. Заодно мы научимся включать наш код в дерево исходников OpenWRT, допиливать его ядро и делать прочие полезные вещи.
Ну а в самом конце мы получим результат, который, я надеюсь, вызовет ностальгическую слезу у многих читателей. Я постараюсь излагать материал таким образом, чтобы в конце каждого этапа мы получали осязаемый результат, не дающий угаснуть энтузиазму. Итак, начнем.
Читать дальше →
Всего голосов 286: ↑279 и ↓7+272
Комментарии44

Компилируем и выполняем C на JavaScript

Время на прочтение13 мин
Количество просмотров6K
Мир работает на C. Этот язык лежит в основе сжатия файлов, сетевых взаимодействий и даже браузера, в котором вы читаете эту статью. Если код не написан на C, он всё равно взаимодействует с ABI, написанном на C (речь о C++, Rust, Zig, т.д.) и доступен в виде библиотеки на C. Язык C и C ABI — это прошлое, настоящее и будущее системного программирования.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+32
Комментарии7

Embedded Linux в двух словах. Второе

Время на прочтение25 мин
Количество просмотров34K

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

В предыдущей части рассматривалось создание базовой системы, не выполняющей каких-либо полезных действий, но демонстрирующей, на своем примере, один из способов сборки подобных систем.

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

Читать далее
Всего голосов 25: ↑24 и ↓1+31
Комментарии19

Специалисты по теории струн случайно нашли новую формулу для числа пи

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров14K

Число пи (π) появляется в самых маловероятных местах. Конечно, его можно найти в кругах, а также в маятниках, пружинах и изгибах рек. Это повседневное число связано с трансцендентными тайнами. Оно вдохновляло шекспировские головоломки, задачи по выпечке и даже на создание оригинальной песни. И пи продолжает преподносить сюрпризы — последний из них произошёл в январе 2024 года, когда физики Арнаб Прия Саха и Анинда Синха из Индийского института науки представили совершенно новую формулу для его вычисления, которую они позже опубликовали в журнале Physical Review Letters.

Читать далее
Всего голосов 44: ↑42 и ↓2+57
Комментарии30

Как выбрать корпусный вентилятор для ПК: 5 интересных моделей от 120 до 360 мм

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров5.9K

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

Узнать про вентиляторы
Всего голосов 9: ↑8 и ↓1+11
Комментарии28

Что стоит знать и уметь начинающему мастеру по ремонту ноутбуков? Опциональные варианты

Время на прочтение4 мин
Количество просмотров12K

Я написал две статьи на тему того, что нужно знать и уметь начинающему специалисту по ремонту ноутбуков. Вероятно, будет и третья статья. А сегодня предлагаю вместе подумать над тем, что ремонтнику могло бы пригодиться помимо таких базовых навыков, как пайка, умение починить корпус ноутбука, опыт работы с разными инструментами. Я расскажу, что лично считаю хорошим вариантом, и было бы хорошо увидеть в комментариях ваши мысли по этому поводу.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+49
Комментарии23

Простой лабораторный высоковольтный БП 1…10 кВ своими руками

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров13K

Универсальный регулируемый источник питания 1…10 кВ постоянного тока, из подножных материалов, для замены индукционной катушки [1] при работе с самодельными газоразрядными приборами. Блок питания (БП) имеет бортовой киловольтметр и миллиамперметр, а встроенный магазин балластных сопротивлений и переключающиеся шунты позволят использовать его как источник питания небольшого магниторазрядного высоковакуумного насоса или вакуумметра — т. н. ячейки Пеннинга.
Читать дальше →
Всего голосов 97: ↑97 и ↓0+130
Комментарии66

Разбираемся со сканерами в Linux: Установка и конфигурирование устройства

Уровень сложностиСредний
Время на прочтение61 мин
Количество просмотров9K

Продолжение первой части статьи Разбираемся со сканерами в Linux: получение информации об устройстве и поиск подходящего драйвера.

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

Попробуем
Всего голосов 11: ↑11 и ↓0+14
Комментарии9

Прошиваем программу не только в начало FLASH памяти STM32

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров6K

Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память? Небольшая статья, которую я сам в свое время не нашел и потратил много часов и нервов на сбор этой не хитрой информации.

Читать далее
Всего голосов 19: ↑15 и ↓4+19
Комментарии31

Защита от брутфорса и эксплоитов OpenSSH

Время на прочтение4 мин
Количество просмотров12K


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

Нужно отметить, что новая функция OpenSSH фундаментально отличается от fail2ban, sshguard и подобных инструментов, поскольку она не парсит логи и не изменяет правила файрвола, а применяет опции только внутри одной программы, не обращаясь никуда через ядро, что делает её гораздо безопаснее вышеупомянутых утилит.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+22
Комментарии11

Тестирование NAND и eMMC

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров9K

Когда я плотно занимался аппаратным тестированием, в рамках разработки embedded-устройств, часто бывало так, что инженеры-разработчики и я оказывались в условиях жесткого ограничения в выборе возможных компонентов NAND или eMMC. И в этой связи очень часто возникала необходимость дополнительных проверок каждого из компонентов на долговечность и качество работы. Очень часто приходилось проверять чипы-кандидаты на общий ресурс записи/чтения, скорости операций и т. п. И мне пришла идея, почему бы не поделиться своим опытом с другими специалистами, перед которыми стоят аналогичные задачи. Я хотел бы рассказать в данной статье, что такое Flash-память, почему они выходят из строя и как я организовал тестирование, как через тестирование минимизировать риски при выборе устройства хранения для разрабатываемого устройства. 

Всем, кому интересна данная тема — приглашаю под кат.

Читать далее
Всего голосов 70: ↑70 и ↓0+86
Комментарии21

SNMP MIBs и как их готовить

Время на прочтение18 мин
Количество просмотров254K
Доброго времени суток, читатель.

Предыстория


Я 5 лет работаю в компании, предоставляющей широкополосный доступ к всемирной паутине. Занимаюсь непосредственным управлением оборудованием, а также планированием и мониторингом сети. На момент моего прихода в сети было немногим больше 100 единиц управляемого оборудования вендоров Cisco и D-Link. Рисовали карту сети по старинке в visio, ip-адреса вели там же, но мой руководитель в то время начал писать некоторый софт для инвентаризации оборудования — началось все с учета выданных ip-адресов. Учитывая рост сети (а точнее модернизация в лице замены глупых «мыльниц» на «управляки»), мы и решили, что обычного Cacti нам не хватает. Стандартные счетчики по SNMP мы собирали сразу, но найти что-то более нужное и интересное было трудно. Неоднократные попытки овладеть другими опциями не приводили к конечному результату, но не так давно удалось «обуздать» MIB-файлы для коммутаторов D-Link и считаю, что данная статья ускорит процесс изучения коммутаторов и протокола SNMP. Это позволит быстрее и качественнее управлять сетью.
image
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии15

Обнаружение сетевых устройств

Время на прочтение7 мин
Количество просмотров90K
Сканирование сети с построением списка устройств и их свойств, таких как перечень сетевых интерфейсов, с последующим снятием данных в системах мониторинга, если не вникать в происходящее, может показаться особой, компьютерной, магией. Как же это работает — под катом.


Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии12

Часть 1 Power over Ethernet

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров12K

Power over Ethernet , или PoE , технология, которая позволяет передавать электроэнергию вместе с данными по кабелю Ethernet. Это позволяет с помощью одного кабеля обеспечить как соединение для передачи данных, так и передать достаточное количество электроэнергии для питания сетевых устройств.

Читать далее
Всего голосов 21: ↑19 и ↓2+22
Комментарии16

Решаем задачу уровня «Невозможно». Сжатие хаотического бинарного кода. Суперпозиционные системы счисления

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров2.3K

Для наилучшего восприятия выделим основные пункты изложенного материала:

1.    Для чего необходимо сжатие информации и увеличение плотности записи.
2.    Проблемы в покорение хаоса, нерешенные математиками и ими же созданные.
3.    Простое решение проблемы сжатия абсолютно любого бинарного кода.
4.    Пути и методы дальнейшего развития сжатия бинарного кода.

Читать далее
Всего голосов 18: ↑3 и ↓15-10
Комментарии28

Учим нейронную сеть генерировать текст

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров6K

Всем привет! 

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

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

С генерацией текста фактически тоже самое. Только здесь нейронная сеть учиться предсказывать всего лишь одно слово на основе представленного ей текста.

Читать далее
Всего голосов 12: ↑11 и ↓1+12
Комментарии3

Как стать нормальным системным администратором?

Уровень сложностиПростой
Время на прочтение49 мин
Количество просмотров20K

Для кого эта статья?

Для школьников и студентов ИТ‑направлений, а также просто для людей, занятых в ИТ‑отрасли. Всех остальных вежливо попрошу убраться, если вы не имеете никакого отношения к ИТ. Лучше дальше работайте по тому же направлению и не лезьте в эту прекрасную отрасль. Если вы несколько лет клали плитку, а потом вдруг вам показалось, что, прочитав пару книжек и статей, вы станете системным администратором Linux — вы очень сильно ошибаетесь. Поэтому очень многие специально не берут людей без профильного образования или с наличием существенного опыта работы не по профилю. Вайтишников никто не любит, и здесь 1 год опыта работы по профилю ценится гораздо выше, чем 5 лет не по профилю.

Сисадмин — это профессия, которая требует очень большого интеллектуального труда, усидчивости, высокого уровня понимания подхода и ответственности, потому что в вашем распоряжении будет ИТ‑обеспечение организации, информация и дорогое оборудование. Сисадмин может специально (потому что хочет показать, кто здесь герой) или случайно (потому что просто тупой) остановить деятельность компании полностью и нанести очень существенный ущерб, поэтому в сисадмины берут (в нормальные сисадмины я имею ввиду) очень сильно далеко не каждого, и желательно с двумя почками и мозгами. И да, здесь не будет бреда в стиле «сисадмин — это призвание», потому что никакое это не призвание и не талант, это результат систематического и плодотворного труда, как и во всех профессиях. Но с тем, что эта профессия не для тупых и ленивых, я полностью согласен.

Читать далее
Всего голосов 35: ↑15 и ↓200
Комментарии184

Числа и байты: как работает память в Linux?

Уровень сложностиСложный
Время на прочтение27 мин
Количество просмотров20K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Всего голосов 31: ↑31 и ↓0+35
Комментарии18

Как написать свою маленькую ОС

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров45K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Всего голосов 83: ↑78 и ↓5+98
Комментарии26

Com-WiFi модем для старых компьютеров

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров7.7K

Как выйти в Интернет на сорокалетней DOS машине с 640Кб ОЗУ и 9-и мегагерцовым процессором?

Новый этап приключений с ретро компами - на этот раз с доступом в Интернет!

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии18
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Embedded Software Engineer