Как стать автором
Обновить
67
-2
Антон Данилов @EvilMan

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

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

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям

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

“Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (@teap0t)

Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершиться. А лучшей книгой для начинающих разработчиков электронных схем и практически библией электронщиков последние сорок лет, считается "Искусство схемотехники" (англ. - The Art of Electronics) Пауля Хоровица и Уинфилда Хилла.

Читать далее
Всего голосов 63: ↑72 и ↓-9+81
Комментарии131

Российская микроэлектроника — два года спустя

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

За эту статью попрошу благодарить патриотично размороженных граждан в целом, и @WebPeople (регистрация 2012, разморожен с первым комментарием 8 июл 2023 в 20:47) в частности. Глобальное потепление, ничего не поделать.

В мае 2022 в комментариях @hippohood отметился не имеющим аналогов текстом:
Примерно опишу мыслительный процесс позитивно (патриотично) настроенных граждан.

Оборудование можно сделать и самим, но пока можно и просто привезти серым импортом. Оборудование выглядит примерно как большой ящик с дырками, включённый в розетку; в одну дырку складываешь кремний, в другую заливаешь фоторезистор. Под третью дырку надо подставить ведро - в него будут ссыпаться чипы. Вёдра мы делать умеем (хотя и импортируем сейчас, но чертежи-то остались), фоторезистор научатся намешивать в Зелинограде; с кремнием разберемся, не всё сразу. Надо ещё заранее заказать в Китае переходник с европейской розетки на нормальную - лучше сразу 3 или 4, они постоянно горят. Вроде все ясно.

Читать далее
Всего голосов 648: ↑623.5 и ↓24.5+599
Комментарии451

Смысл жизни с точки зрения программиста-буддиста

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

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

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

Читать далее
Всего голосов 69: ↑60 и ↓9+51
Комментарии129

Изучаем сетевой стек докера в rootless mode

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


Недавно я столкнулся с докером в rootless mode и по привычке решил посмотреть на его сетевые интерфейсы на хосте. К своему удивлению я их не увидел, поэтому начал разбираться, как же в нем организовано сетевое взаимодействие. Результатами анализа я и поделюсь в этой статье.

Читать дальше →
Всего голосов 16: ↑16.5 и ↓-0.5+17
Комментарии0

Исследование целевой атаки на российское предприятие машиностроительного сектора

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

В октябре 2023 года в компанию «Доктор Веб» обратилось российское предприятие машиностроительного сектора с подозрением на присутствие ВПО на одном из своих компьютеров. Наши специалисты расследовали этот инцидент и установили, что пострадавшая компания столкнулась с целевой атакой. В ходе ее проведения злоумышленники рассылали по электронной почте фишинговые сообщения с прикрепленной вредоносной программой, отвечающей за первоначальное заражение системы и установку в нее других вредоносных инструментов. Целью этой атаки был сбор чувствительной информации о сотрудниках, получение данных об инфраструктуре компании и ее внутренней сети. Кроме того, мы зафиксировали факт выгрузки данных с зараженного компьютера ― как в виде хранившихся на компьютере файлов, так и в виде снимков экрана, созданных во время работы ВПО.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии13

Вперед в будущее: Wayland против X11

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

Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помойку?


Еще в далеком 2016 году вышла Fedora 25 с окружением GNOME 3.22 на базе дисплейного сервера Wayland. А в RHEL 10 выкинут X11 на мороз. Релиз RHEL 10 намечен на 2025 год, CentOS Stream 10 — на 2024 год. Для обеспечения работы приложений, требующих X11, будет использоваться XWayland. Таким образом, в 2029 году (к моменту окончания первого этапа поддержки RHEL 9) стоит ожидать появление первого аппаратного обеспечения, не поддерживающего X11.


И как я думаю — будущее за Wayland. Но пока X11 является стандартом. Давайте разберем это!


Читать дальше →
Всего голосов 98: ↑91 и ↓7+84
Комментарии115

Рекомендации при работе с PostgreSQL

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

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Всего голосов 57: ↑54 и ↓3+51
Комментарии53

О найме. Взгляд оттуда

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

Давайте поговорим о том как нам обустроить Россию правильно нанимать людей и не задавать глупые вопросы на интервью.

Читать далее
Всего голосов 84: ↑74 и ↓10+64
Комментарии255

Корпоративный куколдизм

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

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

Читать далее
Всего голосов 407: ↑318 и ↓89+229
Комментарии1149

Разбираем самый маленький JPEG в мире

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

Недавно на Хабре была опубликована статья Разбираем самый маленький PNG в мире. Интересно, а какой самый маленький файл JPEG? В ответах на StackOverflow и Reddit можно встретить размеры 107, 119, 125, 134, 141, 160 байтов. Все они представляют серый прямоугольник 1 на 1. И кто прав? Все правы, просто такая разница объясняется различными режимами кодирования и степенью строгости соответствия стандарту. Описание всех нюансов разрослось до целой статьи cо всеми необходимыми подробностями для более-менее хорошего знакомства с самыми маленькими jpeg-ами. После краткой теории разберем 159-байтный файл на КДПВ, а затем рассмотрим способы его уменьшения.

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

Разбираемся в тонкостях всесторонней оценки сотрудников. Оценка 90, 180, 270, 360, 540, 720 градусов

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

Мы разберемся, что такое оценка сотрудников под углами 90, 180, 270, 360, 540 и 720 градусов, рассмотрим их особенности, преимущества и сферы применения.

Цель всесторонней оценки – получить максимально полное представление о работе сотрудника, его компетенциях, достижениях и областях для роста. Отличительной чертой такого подхода является вовлечение множества оценщиков: от непосредственных руководителей до коллег и подчиненных, что позволяет создать объективную картину и определить направления для развития и обучения.

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

Читать далее
Всего голосов 34: ↑13 и ↓21-8
Комментарии10

Где бесплатно изучать Rust в 2024

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

В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:

1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, такие как доступ к памяти после ее освобождения или гонки данных. Это особенно важно для разработки критически важных систем, таких как операционные системы или встраиваемые приложения.

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

3. Многопоточность: Rust предоставляет удобные инструменты для разработки многопоточных приложений. Он предлагает безопасные абстракции для работы с потоками и предотвращает гонки данных, что облегчает разработку параллельных программ.

4. Кроссплатформенность: Rust поддерживает различные платформы, включая Windows, Linux, macOS и другие. Это позволяет разрабатывать приложения, которые могут работать на разных операционных системах без необходимости переписывать код.

5. Растущее сообщество: Rust имеет активное и одно из самых быстрорастущих сообщество разработчиков. Это означает, что всегда есть доступ к обновленным библиотекам, учебным материалам и помощи от опытных разработчиков.

6. Востребованность на рынке труда: Rust становится все более популярным среди работодателей, особенно в области разработки системного и встраиваемого программного обеспечения. Умение программировать на Rust может открыть двери к новым возможностям и повысить вашу конкурентоспособность на рынке труда.

Читать далее
Всего голосов 33: ↑22 и ↓11+11
Комментарии43

Поговорим об оптимизирующих компиляторах. Сказ восьмой: размотка циклов

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

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

Но есть оптимизации, применение которых имеет как плюсы, так и минусы. Выиграв в одном месте, мы можем получить отрицательные эффекты в другом. Например, сэкономив на количестве проверок, мы можем раздуть общий объём кода и поломать микрооптимизации. Каноничным примером такой оптимизации, решение вопроса об использовании которой больше похоже на искусство, чем на науку, является размотка циклов (Loop Unrolling), о которой мы сегодня поговорим. В статье я попробую осветить как можно больше (хотя, наверное, и не все) соображения о том, почему эту оптимизацию может быть нужно или не нужно применять.

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

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

Эльфы и пингвины: что такое ELF и как он работает в Linux?

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

image


Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в Linux!


Что такое ELF? Чем он отличается от PE в Windows? И многие другие ответы на ваши вопросы.


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


Итак, зачем изучать ELF?


  • Для общего понимания работы операционной системы
  • Для разработки ПО
  • Цифровая криминалистика и реагирование на инциденты (DFIR)
  • Исследование вредоносных программ (анализ бинарных файлов)
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии22

Как мы научили заводчан строить красивые инженерные отчеты из Jupyter Notebook на Python

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

Была у нас тут история, когда легкий перфекционизм помог привести в порядок конструкторскую документацию и регулярно экономить инженерам кучу дней на прохождение бюрократических процедур. В ее основе – создание системы управления расчетными данными и переход от трудночитаемых и трудноинтегрируемых отчетов Mathcad к гибкой связке Jupyter Notebook с Python и Teamcenter. Но основной рассказ будет про то, как преобразовывать и экспортировать математические формулы, таблицы и другие элементы из Jupyter в красивый и удобный вид.

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

Отладка дедлока FUSE в ядре Linux

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

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

Проблема, описываемая далее, была связана с ndrive — внутренней файловой системой, реализованной с помощью FUSE. Я расскажу, как я копался в /proc в поисках причины, и узнал, как на самом деле работает wait в ядре.

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

За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом

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

Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!

Всё началось в далёком 1997 году. С тех пор прошло более 25 лет. Свои первые программы я писал еще под ОС Windows 95 и Windows 98. На тот момент мне было около 12 лет – как раз тот возраст, в котором многие из моего поколения начинали знакомство с программированием. Первым моим языком был Logo, используемый в MicroWorlds от LCSI (Logo Computer Systems Inc). Я получил эту программу от родителей в подарок.

Исчерпав возможности Logo в ограниченной среде MicroWorlds, я перешел на Visual Basic. По очень простой причине — он был мне понятен и к тому же доступен прямо в Microsoft Office. Visual Basic 6 стал первым «настоящим» языком программирования, с которым я познакомился.

Читать далее
Всего голосов 59: ↑33 и ↓26+7
Комментарии151

std fs в Rust медленнее, чем Python? Нет, это аппаратный баг

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

В этой статье я поделюсь с вами долгой историей, которая начинается с op.read() opendal, а заканчивается неожиданным поворотом. Это путешествие оказалось для меня достаточно поучительным, надеюсь, и для вас оно будет таким же. Я постараюсь максимально точно воссоздать свой опыт и дополню его выводами, которые сделал в процессе.

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

Как создать собственный шрифт

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

В этом месяце я решил узнать, как создать шрифт, который буду использовать в своём комиксе hakum. Раньше я рисовал текст в цифре на своём планшете. Результат оказывался хорошим, но иногда трудночитаемым (размер текста часто скакал на одной странице). Мне не хотелось использовать готовый шрифт, поэтому я решил создать собственный на основе своего рукописного текста. Шрифт повысит читаемость текста и сделает его однородным.

Примечание: это моя первая проба создания шрифта. Я не дизайнер, не освоил создание шрифтов в совершенстве и не специалист по программе FontForge. Возможно, существуют способы получше добиться того же результата. В этой статье я опишу свой процесс, который, вероятно, поможет другим начинающим создать свой первый шрифт (для личного пользования). Моя цель заключалась в создании шрифта TTF для применения в веб-публикациях с ограниченным набором символов (без полужирного и курсивного написания).

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

Что ты такое, dhclient?

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

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. 

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.

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

Начать погружение
Всего голосов 223: ↑222 и ↓1+221
Комментарии61
1
23 ...

Информация

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

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

System Administration, Network Engineer
Lead