Как стать автором
Обновить
-5
0
Михаил @Px2

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

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

Системы защиты Linux

Время на прочтение9 мин
Количество просмотров51K
Одна из причин грандиозного успеха Linux ОС на встроенных, мобильных устройствах и серверах состоит в достаточно высокой степени безопасности ядра, сопутствующих служб и приложений. Но если присмотреться внимательно к архитектуре ядра Linux, то нельзя в нем найти квадратик отвечающий за безопасность, как таковую. Где же прячется подсистема безопасности Linux и из чего она состоит?

Предыстория Linux Security Modules и SELinux


Security Enhanced Linux представляет собой набор правил и механизмов доступа, основанный на моделях мандатного и ролевого доступа, для защиты систем Linux от потенциальных угроз и исправления недостатков Discretionary Access Control (DAC) — традиционной системы безопасности Unix. Проект зародился в недрах Агентства Национальной Безопасности США, непосредственно разработкой занимались, в основном, подрядчики Secure Computing Corporation и MITRE, а также ряд исследовательских лабораторий.


Linux Security Modules
Читать дальше →
Всего голосов 35: ↑34 и ↓1+48
Комментарии8

8 оттенков серого, или ZX Spectrum48 за $3

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

Прочитав статью Передача аналогового тв сигнала с помощью STM32 решил попробовать нарисовать телевизионный сигнал на дешевой китайской плате stm32f401ccu6 за $2.5 без дополнительного железа.

Когда-то давным-давно
Всего голосов 34: ↑33 и ↓1+45
Комментарии86

Linux kernel development для самых маленьких

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


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

Читать дальше →
Всего голосов 45: ↑43 и ↓2+52
Комментарии28

Запуск Unix-подобной ОС на самодельном CPU с помощью самодельного компилятора C

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

Два года назад я начал работать разработчиком ПО. Иногда я рассказывал своим коллегам о студенческом проекте, которым занимался на третьем курсе университета, и они восприняли его настолько хорошо, что я решил написать этот пост1.

Позвольте задать вам вопрос: вы когда-нибудь проектировали собственную архитектуру набора команд (ISA), создавали на FPGA процессор на основе этой ISA и собирали для него компилятор? Запускали ли вы операционную систему на этом процессоре?

А у нас это получилось.

В этом посте я расскажу о своей учёбе в 2015 году, о четырёх месяцах создания самодельного CPU на самодельной архитектуре набора команд RISC, создании самодельного тулчейна C и портировании на этот процессор Unix-подобной ОС Xv6.

Процессорный эксперимент в Токийском университете


Всё это делалось в рамках студенческого экспериментального проекта под названием CPU Experiment. Давайте начнём с того, что же такое CPU experiment.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии13

Низкоуровневое программирование микроконтроллеров tinyAVR 0-series

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


Вы — 8-битный или 32-битный программист? Мы, в компании OMZLO, сосредоточили основные усилия на новых 32-битных ARM Cortex-чипах (STM32 и SAMD), которые, в сравнении с более старыми 8-битными микроконтроллерами (Micro Controller Unit, MCU) обычно предлагают больше RAM, более высокую производительность, поддержку большего количества периферийных устройств. И всё это — за ту же, или за более низкую цену. Но 8-битные MCU ещё не утратили своей актуальности. В частности, компания Microchip выпустила новую серию чипов, «tinyAVR 0-series», которые, в сравнении с AVR-чипами, выпущенными ранее, дают возможность работать с более современной периферией. Новые чипы, при этом, отличаются весьма привлекательной ценой. Возникает такое ощущение, что эти чипы отлично подойдут для разработки простых устройств, которым не нужны те возможности, что предлагают более новые 32-битные MCU. 8-битные микроконтроллеры, кроме того, значительно легче программировать, что приводит к увеличению скорости разработки программной части устройств, создаваемых на их основе.

Благодаря успеху Arduino UNO в интернете можно найти множество руководств, разъясняющих особенности программирования 8-битных микроконтроллеров ATmega328 и их собратьев вроде ATtiny85. Речь идёт о прямом доступе к регистрам без использования языка программирования, используемого для Arduino, и без применения IDE, созданных производителями чипов, вроде Atmel Studio. Чтобы в этом убедиться — просто поищите в Google по словам «atmega328 blinky». Для программирования микроконтроллеров вам понадобится лишь C-компилятор для AVR, текстовой редактор, avrdude и AVR-программатор. На некоторых ресурсах даже можно найти руководства, посвящённые тому, как, пользуясь универсальными макетными платами, «завести» ATmega328. Правда, если говорить о более новых чипах tinyAVR 0-series, по ним найти информацию такого рода непросто.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+56
Комментарии23

Программирование устройств на основе модуля ESP32

Время на прочтение26 мин
Количество просмотров202K
Микроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.

image
Читать дальше →
Всего голосов 25: ↑23 и ↓2+28
Комментарии5

Определённо не Windows 95: какие операционные системы поддерживают работу в космосе?

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

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

Читать далее
Всего голосов 18: ↑17 и ↓1+22
Комментарии32

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

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


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Всего голосов 208: ↑166 и ↓42+178
Комментарии257

«Сделай сам», или компьютер из Югославии

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


Компьютер Galaksija был увлечением многих жителей Югославии 1980-х годов, которые создавали собственные устройства буквально на коленке. Идея, стоящая за всем этим, была проста — сделать технологию доступной для всех. Как родилась эта идея и что из неё получилось, рассказывает Cloud4Y.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+41
Комментарии34

Как учиться в университете, чтобы было интересно и полезно

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

Этот пост изначально должен был быть ответом на пост "Честный рассказ об образовании в IT. Стоит ли оно того?", однако, по-видимому, вышел за эти пределы и может рассматриваться как самостоятельное произведение.


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

Читать дальше →
Всего голосов 5: ↑4 и ↓1+5
Комментарии49

SOLID == ООП?

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

Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем.


В современной индустрии уже много десятков лет доминирует парадигма ООП и у многих разработчиков складывается впечатление, что она лучшая или и того хуже — единственная. На эту тему есть прекрасное видео Why Isn't Functional Programming the Norm? про развитие языков/парадигм и корни их популярности.


SOLID изначально были описаны Робертом Мартином для ООП и многими воспринимаются как относящиеся только к ООП, даже википедия говорит нам об этом, давайте же рассмотрим так ли эти принципы привязаны к ООП?

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML

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


Аве Кодер!

Тебе пришла крутая идея продукта, но ты не хочешь увязнуть в коде и потерять целостную картинку из-за мелких деталей? Ты вот-вот присядешь за то, что крякнул корпоративный сервер и тебе нужно набить что-то крутое и айтишное?

Этот цикл статей будет посвящен полезному, но порой ускользающему от молодой поросли знанию — диаграммам UML. И начну я его с обзора существующих диаграмм, поговорим немного об истории и зачем диаграмм должно быть так много.
Всего голосов 12: ↑12 и ↓0+12
Комментарии18

Тахометр или спидометр: Поток мыслей про измерение частоты в Arduino

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

Предистория


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


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


Картинка для привлечения внимания

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии27

Ретроспектива создания своего мультфильма

Время на прочтение6 мин
Количество просмотров4.5K
Мы живём в удивительное время. То, что раньше было невероятным, сегодня у нас буквально «валяется под ногами». В наши дни любой человек может сделать свой собственный мультфильм. Анимационные программы упрощают и ускоряют этот процесс настолько, что даже один человек, не будучи аниматором, может сделать настоящий анимационный фильм.

С удовольствием поделюсь полученным мною опытом. Речь будет идти о 2D-анимации, но многие моменты равно применимы и к 3D. Кому будет интересно ссылка на сам мультфильм в конце поста.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Я есть root. Разбираемся в повышении привилегий ОS Linux

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

Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказалось разобраться в механизмах повышения привилегий. Курс PWK уделяет этой теме большое внимание, однако методических материалов всегда недостаточно. В Интернете есть куча мануалов с полезными командами, но я не сторонник слепого следования рекомендациям без понимания, к чему это приведет.


Мне хочется поделиться с вами тем, что удалось узнать за время подготовки и успешной сдачи экзамена (включая периодические набеги на Hack The Box). Я испытывал сильнейшее ощущение благодарности к каждой крупице информации, которая помогала мне пройти путь Try Harder более осознанно, сейчас мое время отдать должное комьюнити.


Я хочу дать вам мануал по повышению привилегий в OS Linux, включающий в себя разбор наиболее частых векторов и смежных фишек, которые вам обязательно пригодятся. Зачастую сами механизмы повышения привилегий достаточно несложные, трудности возникают при структурировании и анализе информации. Поэтому я решил начать с «обзорной экскурсии» и далее рассматривать каждый вектор в отдельной статье. Надеюсь, я сэкономлю вам время на изучение темы.


Читать дальше →
Всего голосов 44: ↑39 и ↓5+44
Комментарии26

Интеллектуальная мастурбация о хорошем писательстве

Время на прочтение11 мин
Количество просмотров2.7K
Родни О. Лейн был преподавателем журналистики и колумнистом The Mac Observer.


Так вы считаете себя писателем, да?


«Писательство – это борьба».

—Мухаммед Али

«Писатель – не репортер, а Великий Учитель. Его дело изображать мир не каким он есть, а каким он должен быть».

Г. Л. Менкен, Предрассудки, из эссе «Критика критики критики»

«Школьные письменные работы по большей части плохи, потому что ученики и учителя играют в писательство, а не относятся к нему всерьез. А какой мотив писать хорошо можно пробудить в ученике? Есть только один действительный мотив: желание быть прочитанным».

Жак Барзен, Учитель в Америке, из главы «Как писать и быть прочитанным»

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

Уильям Зинсер, Как писать хорошо

Часть первая: следуйте своему увлечению


Когда я был молодым профессором английского языка в колледже, мне выпало удовольствие преподавать на вводном курсе по журналистике – и это действительно было удовольствием. Когда я не посмеивался сам с собой по поводу иногда откровенных, иногда изощренных попыток моих студенток сексуально подразнить и/или соблазнить меня, я часто корпел над планами уроков и занятий, которые внушили бы им всю серьезность выбранной ими области и важности полной самоотдачи этому делу. Я старался донести это с первого же дня.
Читать дальше →
Всего голосов 15: ↑3 и ↓12-8
Комментарии4

Ваш профессиональный спад придет (гораздо) раньше, чем вы думаете

Время на прочтение24 мин
Количество просмотров62K
Вот как извлечь из него максимум.


Изображение: Люси Гутьеррес

«Неправда, что ты больше никому не нужен».

Эти слова исходили от пожилой женщины, сидящей позади меня на позднем вечернем рейсе из Лос-Анджелеса в Вашингтон. В самолете было темно и тихо. Мужчина, которого я счел за ее мужа, почти беззвучно пробормотал в ответ что-то вроде «Лучше бы я был мертв».

И снова женщина: «О, прекрати это говорить».

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

Когда в конце рейса включился свет, я наконец-то увидел опустошенного человека. Я был в шоке. Я узнал его – он был и остается знаменитым на весь мир. Тогда, в возрасте восьмидесяти лет, он был любим как герой за мужество, патриотизм и достижения многих десятков лет назад.
Читать дальше →
Всего голосов 49: ↑43 и ↓6+60
Комментарии107

ZX Spectrum 128k своими руками. Часть 2

Время на прочтение6 мин
Количество просмотров45K
image
Первая часть здесь

Все изображения кликабельны.

Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрокомпьютерам не так уж и много, поэтому решился.

Порт расширения


Компьютер к которому ничего нельзя подключить очень ограничен в возможностях и я решился припаять к нему порт расширения. Кроме 40 pin IDE на плату больше ничего не влезало, но подсчитав количество нужных мне контактов вышло что хватит и этого. Минус один контакт на ключ, 2 контакта на +5в, 2 контакта на землю.
Читать дальше →
Всего голосов 85: ↑85 и ↓0+85
Комментарии54

ZX Spectrum из коронавируса и палок (на самом деле, не совсем)

Время на прочтение19 мин
Количество просмотров30K
Вторая часть здесь

Самоизоляция — бич современного человечества. Вот, к примеру, в соседнем с нашим городе по пятницам и субботам, после традиционного хлопанья в ладоши в 8 вечера, устраивают балконные концерты. Им хорошо, у них дома высокие и соседи молодые. У нас же соседи пожилые, концертов не хотят. И дома невысоки, что тоже не способствует праздности. Поэтому, спасаемся, как можем.

Днем, на удаленке, не так и плохо. Как и вечером, пока не уснут дети. Как и в первые несколько дней, пока не кончатся книги и не надоедят сериалы. Но проходит месяц, за ним другой. Душа требует старого железа. Но не просто, а чтоб с извратом. И я порылся в ящиках с мусором и обнаружил там процессор Zilog Z80:

image
Всего голосов 53: ↑51 и ↓2+75
Комментарии135

Как создать Roguelike

Время на прочтение19 мин
Количество просмотров75K
image

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

У меня есть довольно большой опыт — в течение последних семи лет я работал только в этом жанре (Cogmind, Cogmind 7DRL, POLYBOT-7, REXPaint, X@COM), и в течение последних пяти эта работа была моей основной. К тому же, все эти годы я помогал превращению r/RoguelikeDev в крупнейшее сетевое сообщество разработчиков roguelike.
Всего голосов 58: ↑58 и ↓0+58
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Тольятти, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность