Pull to refresh
9
0
Send message

Спин-оффы, что популярнее оригиналов: часть 2

Reading time9 min
Views8.6K

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

Пишем свою библиотеку для I2C OLED микродисплея 128х32px

Reading time7 min
Views20K

Недавно я обратил свой взгляд на небольшой, но весьма привлекательный OLED микродисплей, который можно вполне успешно применять в своих самоделках, одна беда — известные библиотеки для него поддерживают только латинский шрифт. Ситуация усугубляется тем, что я использую его для подключения к esp32, а не Arduino. Поэтому arduino-библиотеки можно сразу отбросить. Что с этим делать и как дальше жить, об этом мы и поговорим в этой статье.

Читать дальше →

Нецелевое использование assert-функций в TypeScript

Reading time6 min
Views10K

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить assert-функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →

Yubikey для дома и офиса

Reading time10 min
Views42K

На приобретение Yubikey меня вдохновил Хабр материал из опубликованной ранее статьи. Может быть, и моё творчество способно вдохновить кого-то на подобные действия, и в результате будут появляться все новые и новые информационные блоки не раскрытых ранее областей применения подобных аппаратных ключей шифрования. Такой своего рода прирост человеческих знаний. IT-гикам будет понятнее, что с такой штукой можно сделать, куда её вставить и как применить по назначению. В статье рассмотрена модернизация входа в учётную запись Windows, работа с GPG шифрованием, в том числе использование Yubikey для SSH как на Linux, так и на Windows, подружим с ним LUKS, а также продемонстрируем работу TOTP аутентификации на примере Github. Материал не носит рекламный характер. Создан гиком для гиков, содержит только материалы практики. Минимум воды и научных изысканий.
Читать дальше →

KC868-Uair: пролетая над гнездом кукушки. Часть 2. Подключаем nRF24 и LoRa

Reading time7 min
Views4.3K


С устройством и схемотехникой Kincony KC868-Uair мы разобрались в предыдущей статье, в этой статье мы продолжим знакомство с этим контроллером, разберём его распиновку и попробуем подключить к нему популярные беспроводные модули nRF24L01. KC868-Uair и сам по себе достаточно функциональный контроллер, а с добавлением поддержки беспроводной связи nRF24 его возможности значительно расширяются — к нему станет возможно подключение десятков DIY датчиков и актуаторов.

К KC868-Uair не обязательно подключать именно nRF24L01, вместо этих модулей можно подключить любое другое оборудование, например, беспроводную LoRa связь — на основе информации из этой статьи и моих пояснений вы легко сможете это сделать.
Читать дальше →

Кунг-фу стиля Linux: простые конвейеры

Reading time9 min
Views15K
В былые времена компьютеры делали по одному делу за раз. В буквальном смысле. В компьютер загружали перфокарты, или перфоленту, или что-нибудь другое, и нажимали на кнопку. Компьютер читал программу, выполнял её и выдавал результаты. Потом он «засыпал», пребывая в таком состоянии до тех пор, пока ему не дадут новых входных данных.



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

Как слушать музыку неправильно, но красиво

Reading time10 min
Views30K

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

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

Операционные усилители. Часть 6: Однополярное включение ОУ. Помехи, экранирование, «развязки» и защиты

Level of difficultyHard
Reading time7 min
Views33K

В предыдущей публикации цикла были рассмотрены примеры реализации активных фильтров и генераторов на ОУ.

В данной публикации цикла мы разберём аспекты питания ОУ, защиту от помех (как входных, так и по питанию), а также защиты и «развязки» входных цепей.

Большая часть материала будет разобрана на «сквозном» примере схемы предусилителя-корректора, по характеристике RIAA на одном ОУ.
Читать дальше →

Филипп Кан: человек, научивший телефон фотографировать

Reading time5 min
Views13K


«Я на телефон сфотографирую». Человек середины или даже конца XX века, услышав подобное, решил бы, что крыша собеседника улетела в неведомые дали. В наши дни телефон без фото- и видеокамеры — ретро или экзотика. Камерами оснащаются даже простейшие кнопочные «звонилки».

Как вообще возникла идея засунуть фотоаппарат в телефон, ещё в 80-е звучавшая откровенно фантастично и киберпанково?
Читать дальше →

Скоростная съёмка процессов

Reading time8 min
Views11K

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

Хостинги в 2030: мечты, прогнозы и суровая реальность

Reading time6 min
Views6.9K
1 марта — день хостинга. Это день, когда мы обматываемся оптоволокном, чокаемся с серверными стойками, танцуем с бубнами, отбиваем DDoS-атаки и прочие проникновения, желаем друг другу 100% аптайм и адекватный SLA, а вечером падаем без сил: кто на ночное дежурство в дата-центрах, кто в скрипты, администрирование и прочую суету. В общем, самый обычный день хостера. Потому что в любой момент мы работаем для тех, кто нам доверяет и не имеем права выбирать один выходной из 365 дней. Почти весь февраль мы думали, какими могут быть хостинги в 2030, что там, за новым десятилетием? Получилось по-разному. 


Кстати, «зелёные» хостинги — одна из задач будущего. Все бы проблемы вот так решать! 
Читать дальше →

Экспериментальная разработка эксплойта для Use-After-Free

Reading time11 min
Views6.8K

Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь.
Читать дальше →

Операционные усилители. Часть 4: Активный детектор. Умножение и деление на ОУ. Источники питания. Усилители мощности

Level of difficultyHard
Reading time7 min
Views36K

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

В данной публикации цикла мы научимся с помощью ОУ производить операции деления и умножения, находить модуль, определять знак, сравнивать числа и находить наибольшее из них. Для этого мы разберём работу ряда схем на ОУ с «обвязкой» из транзисторов и диодов.
Читать дальше →

3D для каждого: хочу делать мультики

Reading time20 min
Views19K

Первая статья от фанеростроя на Хабре, но третья в цикле про 3D. Этот слегка краткий обзор немножко затянулся во времени, но мы постараемся наверстать упущенное и познакомить вас с самой интересной частью работы 3Dшника. Сегодня речь пойдёт о 3D в играх и фильмах. Тем не менее это две довольно большие темы, о которых мы постараемся рассказать кратко и интересно. И казалось бы, как это сделать в двух словах, чтоб не вылететь с хабра сразу за мракобесие, но…
Читать дальше →

Европейские альтернативы американским интернет-сервисам

Reading time8 min
Views17K

Зашифрованное хранилище файлов CryptDrive.cz (Чехия)

Судя по последним событиям, Евросоюз начал по-взрослому давить на Google, Facebook и другие американские компании, которые собирают персональные данные европейских граждан и отправляют в США.

Например, в начале 2022 года популярный инструмент Google Analytics уже запретили к использованию в трёх странах Евросоюза. Чего нам ожидать дальше? Простая экстраполяция:

  • Во-первых, остальные страны ЕС запретят Google Analytics.
  • Во-вторых, они запретят другие американские сервисы.
  • В-третьих, действия ЕС скопируют некоторые государства «догоняющего развития» вроде РФ. Хотя необязательно эти государства думают о правах граждан. Просто считают их (граждан) своей собственностью по праву владения.
Читать дальше →

Ученые пытаются «заглянуть» в черную дыру

Reading time5 min
Views11K

Энрико Ринальди, физик-исследователь из Мичиганского университета, использует квантовые вычисления и глубокое обучение для решения квантовых матричных моделей, которые могут описать гравитацию внутри черной дыры. Эти два метода моделирования проиллюстрированы изображением выше. Глубокое обучение представлено в виде графов из точек (нейронная сеть), а квантовая цепь в виде линий, квадратов и кругов (кубиты и вентили). Эти модели сливаются с каждой стороной искривленного пространства-времени, отражая тот факт, что из них возникают свойства гравитации. В данный момент Ринальди трудится в лаборатории теоретической квантовой физики при Институте физико-химических исследований RIKEN в Токио.
Читать дальше →

NFT, NFT, NFT — медиавирус

Reading time16 min
Views15K
В прошлый раз мы попробовали разобраться в том, что вообще такое NFT. Из этой части вы узнаете как выглядел процесс перерождения технологии организации данных в медиавирус.


Криптоархеологи проводят самые настоящие раскопки блокчейнов в попытке обнаружить токены, которые могли бы считаться первыми NFT. Из-за разногласий по поводу формулировки требований к NFT имеют право на существование разные мнения, но превалирует версия, что смарт-контракт Terra Nullius, появившийся 7 августа 2015 г. был первым в своём роде.
Читать дальше →

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8

Reading time10 min
Views8.3K


В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использовать в своих проектах на KC868-A8.

Мне нравится и Kincony KC868-A4 и KC868-A8, но наш сегодняшний подопытный с его 8-ю цифровыми входами, 8-ю реле на борту, I2C разъёмом и Ethernet интерфейсом смотрится значительно более внушительно и так и просится в какой-нибудь проект по домашней автоматизации. Поэтому мне было интересно разобраться, что там и как устроено, и как всем этим можно управлять.

Разбор программирования KC868-A8 мы начнём с распиновки ESP32 и выяснения, что и как к нему подключено инженерами компании Kincony.
Читать дальше →

Визит редкой дамы. Пресноводные медузы средней полосы России

Reading time16 min
Views20K

С мест сообщают:
«В средней полосе России, в самых обычных реках и пресноводных водоёмах всё чаще находят амазонских медуз, вида Craspedacusta sowerbii. По многочисленным слухам, во всём виновато глобальное потепление. Однако, совершенно не ясно, как эти — кишечнополостные твари появились в нашей стране. Известно точно одно — они захватили наши водные пространства уже очень давно. Так, самую первую встречу с ними зафиксировали простые рыбаки, ещё в 1998 году в пруду охладителе нижегородской ГРЭС (северная окраина города Балахны). Спустя год в том же месте, в самый жаркий разгар лета, на глубине 0, 1 – 0, 5 м. у песчаного берега, используемого в качестве пляжа, учёными было обнаружено несколько десятков медуз диаметром около 2 см. Все они активно плавали в толще воды. По словам местных, год назад, медуз было значительно меньше. При повторном посещении водоёма в августе 1999 года кишечнополостные обнаружены не были…
Читать дальше →

Раздоры вокруг <div>

Reading time11 min
Views24K
Тег <div> — это самый универсальный и широко используемый HTML-элемент. Сам по себе <div> не представляет ничего, но он, в то же время, позволяет разработчикам превратить его почти во всё что угодно. Делается это посредством использования CSS (для стилизации), JavaScript (для функционала) и ARIA (для обеспечения доступности контента).

Эта универсальность позволяет использовать теги <div> для множества самых разных целей, но, к сожалению, такая вседозволенность может легко привести к злоупотреблениям. Когда тегом <div> пользуются недостаточно осмотрительно, в итоге может получиться <div>-суп, контент, лишённый семантического значения, интерактивные элементы, не отличающиеся доступностью, или некая комбинация этих нехороших явлений.

Грубые нарушения при использовании <div> выявить сравнительно просто (подробнее об этом поговорим ниже). Но мы дошли до того, что кто-то может назвать «образцом недоступности контента» полностью правильное использование <div>, или, как минимум, пример лёгкого отклонения от правильности. В таких ситуациях говорят о том, что «кому-то стоило бы вместо <div> воспользоваться семантическим HTML-элементом».

Тег <div> приходит на вечеринку, где его встречает команда A11y

Ладно. Притормозим немного. Прежде чем дружно задирать нос перед применением тегов <div> — давайте вспомним о том, что контекст — это важно.

Конечно, всегда, когда это возможно, нужно использовать семантические элементы. Но предлагаю проявить осторожность, создавая такую атмосферу, когда может показаться, что любой вариант использования <div> — это плохо… или — что замена некоего <div> на «более семантический» элемент способна улучшить доступность некоего документа.

Прежде чем об этом поговорить — ненадолго вернёмся в прошлое и заглянем туда, откуда взялся тег <div>.
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity