Как стать автором
Поиск
Написать публикацию
Обновить
3243.03
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15
Сначала показывать

GitLab CI/CD components: повторно используемый CI как путь к чистому и здоровому GitLab

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

Ходит легенда, что однажды разработчики GitLab закупились шапками, сделанными из переработанных крышечек от бутылок. И их настолько вдохновила идея повторного использования, что они решили добавить такую возможность и в свой продукт. Подкрепив это всё стандартизацией CI, они представили комьюнити новый механизм — GitLab CI/CD components.

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

Читать далее

Удивительный мир транспортных карт Японии

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

Когда я был зимой в Японии, одним из самых удивительных для меня явлений этой страны оказалась невероятная система общественного транспорта. Она не только была эффективной и надёжной, но и турникеты на станциях работали подозрительно быстро. Турникеты лондонской подземки не сравнятся с ними по скорости работы с Google Pay и другими моими бесконтактными картами. В чём же причина? Я решил изучить, почему японская система транспортных карт (IC-карт) так уникальна по сравнению с западными, и в процессе этого исследования узнал пару любопытных фактов.

Читать далее

Инфракрасное сканирование микросхем

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

Перед тем, как использовать неизвестный чип, желательно сначала посмотреть, что у него внутри. Так считает хакер Эндрю «Банни» Хуанг, который разработал технику IRIS (Infra-Red, In Situ) для инфракрасного сканирования микросхем.

Дело в том, что кремний прозрачен для ИК излучения с длиной волны более 1100 нм. Этот эффект можно использовать, применив стандартную цифровую камеру, микроскоп и ИК-фильтры.

Читать далее

Приспосабливаем китайский эффект эха для караоке в качестве электрогитарного

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

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

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

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

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

Читать далее

Хакаем корутины в C

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

Недавно работал в команде, занимавшейся разработкой встроенного ПО. Это ПО в значительной степени основывалось на конечных автоматах, которые десятками были разбросаны по множеству функций. И хотя такая архитектура весьма распространена в разработке встраиваемых систем, в особенности систем без ОС, я задался вопросом: неужели нет способа выразить поток управления более чисто?

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

Меня не покидала мысль: «А не будет ли проще написать логику в виде последовательной программы, ожидающей события и возобновляющей выполнение с места остановки?»

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

Читать далее

Айтишные анекдоты, 2001-2003 годы: появление шуток про сисадминов и ранняя XP

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

Золотой век анекдотов программистов и о программистах на Анекдот.ру пришёлся на 1998-1999 годы, после чего их популярность несколько снизилась. Однако и в начале нулевых годов они никуда не исчезли — продолжая публиковаться и собирать множество лайков. Одним из знаковых явлений начала нулевых годов стало начало перехода от анекдотов про программистов к шуткам про сисадминов. Кроме того, вышла Windows XP, которая на старте была далека от совершенства и традиционно стала предметом стёба. Итак, над чем смеялись и иронизировали в около-компьютерной среде в 2001-2003 годах?

Читать далее

Из чего соткана ткань пространства-времени?

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

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

Читать далее

Технический взгляд на отключения интернета в Иране

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

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

Но как современная страна переживает такое отключение от интернета? Разве это не должно рушить все налаженные процессы?

Не совсем, ведь Исламская Республика последние десять лет занималась разработкой интернета внутри интернета.

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

Читать далее

Любительские французские радиолампы 1920-х годов. Часть 2. Стеклодувное, ртутно-капельный вакуумный насос

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

Продолжим наше путешествие по волнам памяти — окунёмся в самобытную работу яркого представителя заграничных радиолюбителей начала прошлого века, с их примитивным оснащением, самодельными радиоэлементами и безмерным энтузиазмом. Франция, 1900-е годы, М. Н. Минье — скромный любитель, изготовлявший вакуумные триоды для своего радио самыми простыми, буквально подножными средствами и материалами (Часть 1). Радиолампы, как и любые электровакуумные приборы (ЭВП), кроме прочего, подлежат и непременной откачке, операции сложной и дорогостоящей (оборудование). Чем же обходились отважные пионеры ламповой эпохи, какими самодельными приборами, как изловчались их конструировать своими невеликими возможностями?

Читать далее

Биперные музыкальные движки на ассемблере Z80

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

В своих публикациях я уже неоднократно касался темы «биперных движков», то есть музыкальных процедур для ZX Spectrum и других 8-битных компьютеров прошлого, не оснащённых аппаратными синтезаторами звука. Но каждый раз это было вскользь. Настало время сконцентрировать более тугую струю экспертизы в данном вопросе, расставить такты над логическим «И», и рассказать базу: как же устроены и как создаются подобные процедуры в их самом классическом варианте, без привлечения новомодных ардуин.

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

Читать далее

Децентрализованные системы радиосвязи

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

Картинка rawpixel.com, Freepik

В прошлой статье мы затронули очень интересную тему — распределённые хостинги/хранилища данных.

Было бы странно, если бы идея распределённых систем ограничивалась только хранилищами ;-)

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

Читать далее

Рабочая точка биполярного транзистора

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

TL;DR: рассказываю и показываю на графиках, без формул, основу понятия рабочей точки биполярного транзистора. Используя интерактивную модель в веб-симуляторе электроники, соберу простой транзисторный предусилитель.

Читать далее

«Ratchet & Clank» — угасающий привет из прошлого

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

Бывшие видеоигровые «маскоты» сегодня переживают не лучшие времена. За исключением усатого водопроводчика Марио, который стабильно остается релевантным и находит пути совместить основы и инновации, Крэш, Спайро, Банджо и Мастер Чиф сегодня находятся в забытьи. Некогда самые узнаваемые персонажи, своим видом привлекавшие миллионы покупателей к той или иной приставке, остались за бортом индустрии, поскольку разработчики не смогли адаптироваться к новым реалиям индустрии. Даже когда принимались попытки их воскресить (а с «Halo», например, это происходит до сих пор), результаты не удовлетворяли либо игроков, либо инвесторов, либо и тех, и других.

Рэтчета и его железного друга Кланка постигла похожая судьба. С той лишь разницей, что c качеством у последних игр про некогда легендарных персонажей бренда PlayStation все в порядке. Я не застал «R&C» в период расцвета серии, и познакомился с ней благодаря ремейку/ребуту 2016 года. Дальше был «свежий» «Rift Apart» и, наконец, сам оригинал. Перед тем как дальше исследовать глубины франшизы, я решил остановиться и определить для себя, почему у настолько захватывающей геймплейно и технически франшизы так мало шансов на будущее.

Now even the computers are charging us?!

Puter.js: бесплатный бэкенд для сайтов, приложений и игр

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

В 2024 году после трёх лет разработки вышла первая версия Puter OS — «операционной системы для веба». Эта опенсорсная платформа по замыслу напоминает CasaOS, которую мы недавно рассматривали, но есть ряд отличий, и она гораздо интереснее.

Puter OS более ориентирована на разработчиков, предоставляя бэкенд, файловое хранилище, облачные вычисления и доступ к ИИ (GPT-4o, o1, o3, o4, Claude 3.7 Sonnet, Llama, Amazon Polly, and Dall-E) совершенно бесплатно для сторонних приложений и сайтов, если добавить туда библиотеку puter.js.

Конечным пользователям Puter OS предлагает единый интерфейс «операционной системы» с десятками тысяч веб-приложений на виртуальном «рабочем столе» (демо, КДПВ).

Читать далее

Ну, погоди! Как я создал свою версию культовой игры: от схемы до корпуса

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

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

Теперь у меня сформировалось более полное понимание экосистемы разработчиков DIY-устройств, а именно: какими программами можно пользоваться и чёткое понимание этапов разработки.

Заранее хочу предупредить, что разводку на печатной плате я по-прежнему не сделал, а ограничился перфорированной макетной платой. Но чтобы «Ну, погоди!» выглядело более эстетично, поместил её в пластмассовый корпус. Если у вас нет 3D-принтера, то возможен более-менее эстетичный вариант без корпуса — далее в статье я приведу фотографию, как это можно сделать.

Читать далее

10 популярных мифов о VDS-хостинге

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

Недавно наткнулся на старые выпуски «Разрушители легенд» и подумал, что про VDS/VPS также немало мифов. Конечно, не таких зрелищных, как взрывающийся бензобак, но не менее живучих. Только никто их не спешит «разрушать», а стоило бы. В статье разберу десять самых популярных заблуждений о VDS и объясню, почему в них верить не нужно.

Читать далее

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

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

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.

Читать далее

Большинству людей плевать на качество софта

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

На Хабре иногда слышны жалобы на деградацию веб-дизайна и интерфейсов для более «примитивных» юзеров, дерьмофикацию хостингов кода, ожирение софта и прочие признаки ухудшения мира. Кажется, что каждый полезный сайт в интернете со временем превращается в шлак с бесконечным скроллингом, дофаминовой иглой и монетизацией.

Но у этой деградации есть естественная причина, и она очень простая. Дело в том, что большинству людей по большому счёту наплевать.

Читать далее

Большое испытание кальциевых аккумуляторов, часть 2: недозаряд портит, а кипячение убивает

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

Привет, Хабр! Мы продолжаем проверять на прочность пару одинаковых новеньких аккумуляторов 6СТ-62L производства ОАО «Тюменский аккумуляторный завод» путём многократного "кипячения" одного и недозаряда другого.

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

Настало время исследовать динамику воздействия этих факторов на свинцово-кислотные батареи путём всесторонних измерений.

Читать далее

От React всё так же веет безумием, но все об этом молчат

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

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

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds