Pull to refresh
50
0
Send message

Как собрать клон Yamaha DX7 за 10$

Level of difficultyEasy
Reading time4 min
Views19K

В этом статье я расскажу как и из каких компонентов можно самостоятельно изготовить клон знаменитого синтезатора Yamaha DX7.

Статья рассчитана в основном на новичков и энтузиастов ретро музыкальных инструментов. Чуда не ждите :)

Около 10 лет назад в моей коллекции был этот синтезатор, но при переезде мне пришлось продать многие из своих инструментов.

Теперь предо мной стоит задача восстановить свою коллекцию. И при этом за минимальный бюджет.

Читать далее
Total votes 23: ↑23 and ↓0+34
Comments19

Как мы ускорили автоустановку ОС в четыре раза

Reading time13 min
Views18K

Привет! Меня зовут Лев, я системный администратор в Selectel. Ранее рассказывал об адаптации ARM-серверов под наши процессы. Тогда мы столкнулись со множеством проблем, одной из которых была интеграция автоустановки Ubuntu 22.04. Теперь поделюсь, как мы сделали новый процесс автоустановки быстрее, завезли несколько фич, а также ускорили добавление новых ОС.
Читать дальше →
Total votes 41: ↑41 and ↓0+58
Comments20

Ребята, я не вывожу: как открытость помогает руководителю преодолеть кризис и сделать команду сильнее

Level of difficultyMedium
Reading time9 min
Views6.7K

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

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

Читать далее
Total votes 6: ↑3 and ↓30
Comments4

Эмуляция сбоев ФС. Ломаем PostgreSQL

Level of difficultyMedium
Reading time8 min
Views5.1K

Привет, Хабр!

Задумывались ли вы при написании программы о том, что может произойти, если на диске закончится место или при чтении данных из сектора возникнет ошибка? Обрабатывается ли это?

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments7

Анимация доски Гальтона на Python и manim

Reading time9 min
Views4.2K

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

Читать далее
Total votes 13: ↑13 and ↓0+16
Comments2

Netmiko: упрощение сетевой автоматизации на Python

Level of difficultyEasy
Reading time5 min
Views7.6K

Привет, Хабр!

Сегодня рассажем о модуле, который упрощает автоматизацию сетевых устройств — Netmiko. Если вы, как и мы, когда-то пытались автоматизировать конфигурации и управление сетью через SSH, то вы знаете, насколько это может быть сложным процессом. И тут на сцену помогает Netmiko.

Netmiko — это обертка над библиотекой Paramiko, разработанная для сетевых инженеров. Она упрощает работу с SSH-соединениями и добавляет ряд методов и интерфейсов для взаимодействия с сетевыми устройствами.

Этот модуль поддерживает большой спектр сетевых устройств — от Cisco и Juniper до Arista и HP. Всё, что нужно, это определить параметры устройства в виде словаря, и Netmiko позаботится обо всем остальном.

Читать далее
Total votes 8: ↑8 and ↓0+11
Comments9

Мартышка и АйТи

Level of difficultyEasy
Reading time3 min
Views21K

Мартышка и АйТи: Парадокс сложной эффективности

Вы когда-нибудь задумывались, почему в IT всё циклично? Почему старые методы и технологии, которые когда-то были на пике популярности, возвращаются на сцену?

Давайте разберёмся, что такое Парадокс сложной эффективности на простом примере, а также посмотрим, как это работает в IT последние 30 лет.

Читать далее
Total votes 43: ↑33 and ↓10+30
Comments17

Строим свой SSO сервер используя Spring Authorization Server

Level of difficultyMedium
Reading time45 min
Views37K

На днях я решил сделать под все свои pet-проекты собственный SSO сервис, дабы не заморачиваться каждый раз с авторизацией и аутентификацией. Возиться с этим особо долго мне не хотелось. Все таки это для pet-проектов. Поэтому выбор пал на Spring Security. Мне давно уже было интересно посмотреть в действии как на Spring Boot 3, так и новый Spring Authorization Server версии 1.x.x. В данной статье речь пойдёт о проблемах и их решениях при построении собственного SSO. А также я поставил себе ряд интересных требований, с которыми я постараюсь справиться и рассказать о своём опыте.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments7

Test Driven Development в Embedded, или Как увеличить производительность команды на 37%

Level of difficultyMedium
Reading time10 min
Views3.6K

Современное развитие в области встроенной разработки и электроники с учётом бизнес-процессов ускоряется, часто следуя принципам Agile и Scrum. Применение этих методик требует осторожности из-за длительного производственного цикла встроенной разработки, который затрудняет быстрые изменения.

Меня зовут Арсентий Гусев, я руководитель группы embedded-разработки в отделе робототехники Яндекс Маркета. И мне бы хотелось рассказать об опыте, который приобрела наша команда в рамках работы над проектом складского робота. В этой статье определим критерии, предпосылки и предложим инструменты для ускорения разработки и снижения её стоимости.

Читать далее
Total votes 16: ↑14 and ↓2+19
Comments13

Пробуем Typst, альтернативу LaTeX

Level of difficultyEasy
Reading time20 min
Views11K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

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

Читать далее
Total votes 28: ↑28 and ↓0+37
Comments55

Погружаемся в S3 на Ceph. Как мы удаляли 460 млн мелких объектов

Reading time4 min
Views4.1K

Недавно мы выпустили новый сервис — объектное хранилище S3 на базе нашего облака. Запустили его на Ceph. Перед этим провели множество тестов. В частности, решили выяснить, как на практике Ceph справляется с мелкими объектами — проблемой любого S3. И вот что из этого вышло.

Читать далее
Total votes 11: ↑11 and ↓0+17
Comments4

Почему команда sort включает в себя функцию uniq? (Куда делась философия Unix!?)

Level of difficultyMedium
Reading time8 min
Views4.8K

Команда sort включает опцию -u для удаления повторяющихся строк.

С точки зрения философии Unix, команды для сортировки строк (sort) и удаления дубликатов (uniq) должны быть отдельными. Однако команда sort имеет опцию -u, соответствующую функции uniq. В этой статье я хочу объяснить, почему это так, ссылаясь на книгу «Software Tools».

Читать далее
Total votes 10: ↑5 and ↓5+2
Comments3

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

Level of difficultyEasy
Reading time10 min
Views118K

Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю. 

Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло.  В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком.  Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:

- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.

- А почему вот другие не продали?

- Потому, что у них точность обработки такая, что их только в металлолом можно сдать. Поэтому они здесь работают и крутятся как могут, и обтачивают валы турбин Siemiens.

Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования.  В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок. 

Читать далее
Total votes 244: ↑235 and ↓9+274
Comments301

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

Reading time19 min
Views46K

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

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

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

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

Начать погружение
Total votes 177: ↑176 and ↓1+221
Comments61

Реализация простой HTML5-панели управления серверами с поддержкой IPMI

Reading time5 min
Views9.2K

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

Если система не установлена или возникли какие-то проблемы с ее настройкой (например, при попытке изменить правила межсетевого экрана), доступ можно потерять. В таких ситуациях на помощь приходят специализированные контроллеры, позволяющие управлять серверами без ОС, как если бы вы сидели за физической консолью. Рассказываем, как это работает у нас в HOSTKEY.

Узнать, как все устроено
Total votes 8: ↑8 and ↓0+8
Comments18

Прикладные советы для сильного CV

Reading time6 min
Views11K

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

Материал создан руководителем группы фронтенд-разработки hh.ru Алексеем Анацким. Дальнейшее повествование пойдет от лица самого Леши. Поехали!

Читать советы
Total votes 14: ↑9 and ↓5+4
Comments17

NVMe Namespaces: возможности и подводные камни

Reading time14 min
Views27K

Уверен, многие слышали про NVM Express, или просто NVMe. Изначально для меня это были просто быстрые диски. Потом я осознал, что это интерфейс для подключения этих дисков. Затем стал понимать NVMe как протокол для передачи данных по PCIe-шине. И не просто протокол, а протокол, разработанный специально для твердотельных накопителей!

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

Так что же такое NVMe? Рассмотрим подробнее.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments40

Сообществам разработчиков лучше общаться на форумах, чем в чатах

Reading time7 min
Views4.1K
После примерно года попыток сформировать сообщество разработчиков выражаю свое провокационное мнение: если вы хотите объединить разработчиков с какой-то платформы в сообщество и у вас встает проблема выбора, то лучше использовать для этой цели форумы, а не чаты с синхронным общением.

Да, в отношении удобства и сплоченности придется чем-то поступиться, но в большинстве случаев сообщества разработчиков лучше себя чувствуют на публичных модерируемых форумах, чем в приватных каналах на Slack, где ничего толком не найдешь.
Читать дальше →
Total votes 9: ↑8 and ↓1+9
Comments5

Всё, что вы хотели знать о МАС адресе

Reading time9 min
Views228K

Всем известно, что это шесть байт, обычно отображаемых в шестнадцатеричном формате, присвоены сетевой карте на заводе, и на первый взгляд случайны. Некоторые знают, что первые три байта адреса – это идентификатор производителя, а остальные три байта им назначаются. Известно также, что можно поставить себе произвольный адрес. Многие слышали и про "рандомные адреса" в Wi-Fi.


Разберемся, что это такое.


МАС адрес (media access control address) – уникальный идентификатор, назначенный сетевому адаптеру, применяется в сетях стандартов IEEE 802, в основном Ethernet, Wi-Fi и Bluetooth. Официально он называется «идентификатором типа EUI-48». Из названия очевидно, что адрес имеет длину в 48 бит, т.е. 6 байт. Общепринятого стандарта на написание адреса нет (в противоположность IPv4 адресу, где октеты всегда разделяют точками).Обычно он записывается как шесть шестнадцатеричных чисел, разделенных двоеточием: 00:AB:CD:EF:11:22, хотя некоторые производители оборудования предпочитают запись вида 00-AB-CD-EF-11-22 и даже 00ab.cdef.1122.

Читать дальше →
Total votes 80: ↑79 and ↓1+109
Comments74

Bare metal за 5 минут: как мы из андерклауда сделали облачный сервис для аренды выделенных серверов

Reading time9 min
Views15K

Хоть мы тогда и сами об этом не знали, но создавать сервис для аренды выделенных серверов мы начали два года назад. При запуске новых регионов публичного облака нам требовалось оперативно развернуть множество серверов разных конфигураций по всему миру, но целыми днями заниматься этим вручную никто не хотел. Вместо людей со стальными нервами мы нашли более изящное решение в лице Ironic — сервиса OpenStack для провижининга «голого железа». Совместно с другими инструментами он позволял и раскатывать образ, и настраивать систему, и на тот момент этого уже было достаточно. Позже в Ironic появились такие возможности, что это решение начало закрывать вообще все наши задачи по управлению инфраструктурой в облаке. А раз уж мы справились с этим, то почему бы не сделать на основе служебного инструмента публичный сервис с автоматической подготовкой выделенных серверов? О том, что из этого вышло — под катом.

Поехали!
Total votes 7: ↑7 and ↓0+7
Comments1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity