Search
Write a publication
Pull to refresh
77
0
Send message

Пособие по программированию модулей ядра Linux. Ч.4

Reading time12 min
Views8.6K

Перед вами очередной фрагмент последней версии руководства по написанию модулей ядра от 2 июля 2022 года. Тема этой части — системные вызовы. В ней вы познакомитесь с этим понятием на примере создания собственной функции для открытия файлов, которая будет подменять собой исходную sys_open, а также следить за конкретным пользователем, информируя нас об открываемых им файлах.
Читать дальше →

Российские компьютерные игры 90-х годов. Часть 3: рождение «русского квеста»

Level of difficultyEasy
Reading time12 min
Views49K

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

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

Его главные, каноничные ингредиенты: меметичные персонажи из массовой культуры (лучше всего из анекдотов), склёпанность на коленке из чего-то и палок (зато можно играть чуть ли не калькуляторе «Электроника»), квесты решаются не самым очевидным и логичным, зато особо упоротым образом, и царит в этом во всём атмосфера этого нашего постмодернизма с кучей отсылок к советским мемам и западным фильмам пополам с шутейками категории «Галустян 18+».

И всё же, скажем честно, многим из нас это всё вполне искренне нравилось. А теперь даже как-то трудно не смахнуть скупую слезу ностальгии при виде всей этой наивной и разудалой дичи.
В общем, приступим-с.
Читать дальше →

Система спектрозональной съемки на Raspberry Pi

Reading time5 min
Views8.4K
Пояснение переводчика: в статье речь пойдет об изготовлении устройства, которое позволяет делать снимки объекта в различных участках спектра электромагнитных волн.

Цитата из Википедии: спектрозональная съёмка производится для получения изображений деталей объекта, неразличимых в видимом свете.

В статье много фото.
В данном случае автор приводит пример самостоятельного изготовления подобного непростого устройства.
Читать дальше →

Кошачий глаз. Изучаем культовую радиолампу

Reading time7 min
Views24K

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

На днях я попробовала испытать электронную лампу 6Е1П 1967 года выпуска, а вместе с ней ещё три индикатора разных лет и стран изготовления.
Читать дальше →

Раз нормально, два нормально… Или имитация объема в плоскости

Reading time24 min
Views7.8K

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

Изумрудный венгерский терминал Videoton VDX 52600

Reading time6 min
Views12K
Администрируем сервера с настоящего аппаратного терминала.

Когда увидел в объявлении этот чёрно-зелёный венгерский терминал, то не смог устоять перед его магией. Тем более, что он был совместим с терминалом vt52. Мне всегда хотелось испытать то самое чувство, которое испытывали операторы больших ЭВМ при работе с такими вот прекрасными терминалами. И, наконец, настало то удивительное время, когда подобный терминал могу иметь дома и подключать его к своему домашнему ПК.

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

Правим QEMU железным кулаком

Reading time14 min
Views14K

Виртуализация, на мой взгляд, всё ещё остаётся одной из самых важных технологий в администрировании ЦОД. Да, конечно “все” будут рассказывать, что контейнеры намного более удобные, и всё надо запихивать в Кубер, и всё такое… Но после гигантского нагромождения никому не нужных конфигов, в какой-то момент ты начинаешь понимать, что зашёл слишком далеко.

И действительно. Мы пишем ПО для обслуживания целого ЦОДа. Изначально всё должно было быть контейнером, и всё должно было распространяться через CI/CD, но когда дело доходит до дела, ты начинаешь понимать, что нет ничего проще установленного линукса, на котором напрямую запускается твоя утилита, написанная на golang.

Но, есть одна проблема. Виртуальными машинами не так легко управлять, как это можно делать с контейнерами. Ок, мы сами с усами, можем и вручную написать кое-чего.

Под катом, давайте окунёмся в мир работы с QEMU и подёргаем сам эмулятор. Конечным результатом должна быть клонированная через golang Debian Linux.
Читать дальше →

Оптимизация нейросети на максимальный вред человеку. Первый эксперимент

Reading time6 min
Views38K

Недавно учёные из фармацевтической компании Collaborations Pharmaceuticals с коллегами из европейских научных институтов провели концептуальный эксперимент. Вместо синтеза новых лекарств они задали нейросети MegaSyn AI обратную задачу — найти вещества, максимально токсичные для человеческого организма. Нейросеть корректно поняла условие и менее чем за шесть часов сгенерировала список 40 000 веществ, которые наилучшим образом подходят для химического и биологического оружия.

Научная статья «Поиск лекарств с помощью искусственного интеллекта — технология двойного назначения» опубликована 7 марта 2022 года в журнале Nature Machine Intelligence (doi: 10.1038/s42256-022-00465-9).

Получается, что если поставить задачу нанести вред человеку, то ИИ быстро найдёт максимально эффективное решение.
Читать дальше →

Ненавижу тебя, CUPS

Reading time9 min
Views22K

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

Моделирование ракеты для достижения максимальной высоты

Reading time14 min
Views16K

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

Подумывая, какой бы новый проект реализовать, и обладая тягой к 3D-печати, CAD моделированию и физике, я решил спроектировать ракету для подъема на максимальную высоту в силу возможностей двигателя D-класса. Целью этого проекта было оценить практическую эффективность 3D-печати в ракетомоделировании по сравнению с существующими техниками изготовления моделей.
Читать дальше →

Как работает автоматическая регулировка усиления

Reading time8 min
Views17K

Привет, Хабр! Сегодня изучим автоматическую регулировку усиления, АРУ, на примере гитарного эффекта компрессора. Это прибор для сжатия не воздуха, а электрического сигнала. Из слабого сигнала он делает сильный, а из слишком сильного просто сильный.

Педаль на основе схемы культового DOD 280 я планирую не только собрать, но и немного усовершенствовать, добавив эффект тремоло (амплитудное вибрато). Дело в том, что и компрессор, и тремоло построены на основе усилителя с управляемым усилением. Для тремоло нужно добавить только генератор медленных колебаний (LFO, low frequency oscillator).
Читать дальше →

Российские компьютерные игры 90-х годов. Часть 2

Level of difficultyEasy
Reading time11 min
Views30K

В прошлой части мы рассказывали про компьютерные игры российской разработки, вышедшие в первой половине 90-х годов. Знаковых российских игр тогда было довольно мало в силу целого вагона причин — всерьёз российские разработчики развернулись только во второй половине десятилетия. И не просто развернулись: часть вышедших в этот период игр стали знаковыми и этапными не только для российского, но и для мирового игропрома, завоевав массу поклонников и среди искушённой продукцией больших профессиональных студий западной аудитории.

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

Итак, приступим!
Читать дальше →

Пособие по программированию модулей ядра Linux. Ч.3

Reading time25 min
Views17K

От редакции: Сегодня исполнился 31 год с момента первого анонсирования Linux. Именно в этот день, 25 августа 1991 года Линус Торвальдс разместил в новостях Usenet comp.os.minix соообщение следующего характера:
Привет всем тем, кто использует миникс — Я делаю (свободную) операционную систему (это только хобби, не столь большое и профессиональное, как GNU) для 386(486)AT клонов. Эта система пишется с апреля и скоро будет готова. Я хочу получить любой отзыв, касающийся вещей, которые нравятся/не нравятся людям в миникс, так как моя ОС похожа на неё (такое же устройство файловой системы (по практическим соображениям), среди прочего).

В настоящее время я портировал bash (1.08) и gcc (1.40), и, похоже, эти программы работают. Это значит, что я получу что-то практичное в ближайшие несколько месяцев, и я хочу узнать, какие возможности хотят большинство людей. Любые предложения принимаются, но я не обещаю, что я осуществлю их:-)

Линус (torvalds@kruuna.helsinki.fi)

PS. Да — в ней нет кода миникс, и будет мультипотоковая ФС. Система НЕПЕРЕНОСИМА (использует команды Intel 386 и т. д.) и, вероятно, будет поддерживать только жесткие диски AT, так как это всё, что у меня есть 🙁
Ну а мы — в этот интересный день, можем только пожелать, чтобы труды по переводу этого руководства были для вас полезны.

Продолжаем серию статей по созданию модулей ядра. В текущей части мы разберем работу с файловой системой /proc, взаимодействие с модулями при помощи sysfs, а также работу с файлами устройств.
Читать дальше →

Как успешно бороться с дымом от лазерного резака?

Reading time11 min
Views23K

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

Всё это справедливо для случая, если мы идём простым, среднестатистическим путём.

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

Git — сравнение Visual Studio 2022 с MeGit/EGit и SourceTree

Reading time11 min
Views14K

В этой статье мы сравним функциональность Git в IDE Visual Studio 2022 и в других клиентах Git с GUI. Git внутри VS2022 имеет упрощённый интерфейс по сравнению с некоторыми другими GUI-клиентами наподобие MeGit/EGit и SourceTree. Это привлекает многих разработчиков к платформе VS2022/Git, однако опытным пользователям дополнительно потребуются и другие инструменты.
Читать дальше →

Страх и ненависть в протоколе RDP

Reading time9 min
Views28K

Все те из нас, кто всё ещё администрирует Windows на серверах, привыкли к протоколу RDP.

Последовательность: Win+R->mstsc зашита не то что в мышечной, а наверняка уже в генетической памяти.

Но не все занимались изучением протокола RDP. Для нас это данность, которую мы не подвергаем вопросам. А зря. На самом деле протокол RDP менялся на протяжении последних 10 лет, и его использование позволяет создавать достаточно нестандартные системы. В том числе замечательный и прекрасный протокол может стать большой дырой в безопасности внутренней сети компании, если за ним не следить правильно.

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

Шифровальщики и трояны для FreeBSD – краткий обзор

Reading time8 min
Views6.9K

В комментариях к моей заметке об энкодерах для NAS один из читателей поинтересовался, а были ли похожие трояны под FreeBSD? И я подумал: а ведь действительно, интересный вопрос! Шифровальщики для этой платформы существуют, и как минимум один совершенно точно распространялся в «дикой природе». Правда, руткиты и другое вредоносное зверьё для неё встречается гораздо чаще, всё-таки, шифровальщики — это слегка экзотика. Вспоминается, что в период, когда я работал в антивирусной компании, нет-нет, да изредка проскакивало что-то, связанное с FreeBSD. Потому я решил вспомнить вредоносы для этой ОС, о которых мне когда-либо доводилось слышать. Ну, и про шифровальщика тоже поговорим.
Читать дальше →

Пособие по программированию модулей ядра Linux. Ч.2

Reading time19 min
Views16K

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

Массажер для головы на базе платформы Стюарта

Reading time10 min
Views6.7K

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

  • Не слишком ли это мудрено? Да!
  • Оказалось ли это дорого? Да!
  • Я ненормальный? Да!

Все программные и аппаратные файлы доступны на GitHub
Читать дальше →

Рабочий стол Linux в браузере

Reading time5 min
Views18K

Первый в мире браузер (1993 года) выполнял две функции:

  • рендеринг HTML;
  • переход по гиперссылкам (навигация, браузинг — отсюда и название «браузер»).

Всё было предельно просто. Но те времена давно ушли.

Современный браузер эволюционировал в сложнейшую мета-систему, которая по объёму кода превосходит ядра многих ОС. Более того, браузер де-факто может работать как операционная система. И не только в Linux-виртуалке (как ChromeOS), но как реальная платформа для запуска настоящих приложений, в том числе нативных программ на C, C++, Go и Node.js.
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity