All streams
Search
Write a publication
Pull to refresh
60
0

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

Send message

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

Level of difficultyEasy
Reading time9 min
Views39K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

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

Прокачиваем вёрстку ARIA-атрибутами. Атрибут aria-hidden

Level of difficultyMedium
Reading time8 min
Views8K


Хабр, я рассказал вам, как создавать подсказки с помощью атрибута aria-label. Это отличный шаг к классному опыту для пользователей скринридера. А сегодня сделаем второй — мы научимся правильно скрывать элементы. Встречайте, атрибут aria-hidden.

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

Будни техпода. Как разместить Telegram-бота на виртуальном сервере

Level of difficultyEasy
Reading time9 min
Views62K


Чуть больше месяца назад мы запустили Telegram-бота, через который можно заказать виртуальный сервер. Этот бот помогает арендовать VPN-сервер, VPS из нашего маркетплейса или уникальную конфигурацию под ваши цели.

А не возникало ли у вас желания запустить собственный Telegram-бот на своей удалённой виртуалке? Если да, то добро пожаловать под кат, где мы разбираем весь процесс от заказа и подготовки виртуальной машины до запуска бота в работу. Скажем сразу, данная статья — для тех, кто мало знаком с работой Linux-систем и написанием кода Telegram-ботов, но хочет сделать по этому пути один из первых своих шагов.
Читать дальше →

0xide: локальный облачный сервер

Level of difficultyEasy
Reading time6 min
Views13K


26 октября 2023 года Oxide Computer Company объявила о начале продаж «первого в мире коммерческого облачного компьютера», анонс которого состоялся ещё в 2020 году на стэнфордской лекции «Душа новой машины. Преосмысление серверного компьютера».

Не все сразу поняли, чем 0xide отличается от обычного сервера и почему в маркетинговых материалах он называется «облачный компьютер».
Читать дальше →

Оснащение рабочего места стеклодува в домашней мастерской. Меры безопасности

Level of difficultyMedium
Reading time6 min
Views4.6K
«Содовое» свечение

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

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 5: резервная ёмкость

Level of difficultyEasy
Reading time8 min
Views14K


Привет, Хабр! Резервная ёмкость автомобильной аккумуляторной батареи (АКБ) измеряется в минутах и означает время, за которое полностью заряженный аккумулятор разрядится током 25 ампер до напряжения под нагрузкой 10.5 вольт.

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

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

Юристы продолжают пользоваться MD5 только из-за своего консерватизма

Level of difficultyMedium
Reading time11 min
Views13K

Недавно я узнала один загадочный факт: Международный уголовный суд хэширует электронные доказательства при помощи MD5.

Что в этом плохого? MD5 ужасно поломан. Настолько поломан, что специалисты уже больше десятка лет говорят, что никто не должен пользоваться MD5. Учитывая широкий выбор альтернатив, сегодня применение MD5 не имеет никакого смысла. И ещё одна загадка: MD5 использует не только МУС. Очевидно, им пользуется всё юридическое и криминалистическое сообщество США. Так почему же юристы по-прежнему применяют поломанную и устаревшую технологию?

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

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

В этом посте я расскажу о том, как возникло это обсуждение, и разберусь, правы ли юристы в том, что им можно безопасно применять MD5.
Читать дальше →

Неожиданное взаимодействие предсказания ветвлений и подсистем памяти

Reading time10 min
Views7.4K

Это 15-я статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.).

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

Что нам стоит вязальный аппарат построить? Некоторая информация и ряд мыслей на тему…

Reading time10 min
Views19K
Картинка Macrovector, Catalyststuff, Freepik

Ткацкое и вязальное дело — одни из старейших и известнейших изобретений человечества, сопровождающие его в течение большей части истории.

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

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

Даже в космосе пылища: какой мусор кружит в вакууме

Level of difficultyEasy
Reading time4 min
Views7.5K


Когда 12 апреля 1961 года Юрий Алексеевич достиг первой космической, вокруг Земли уже летал космический мусор от предшествующих исследовательских и экспериментальных запусков СССР и США. Правда, общее количество объектов было меньше 1000. Учитывая объём околоземного пространства, это было пренебрежимо мало. А сегодня поголовье космического мусора уже оценивается во многие десятки миллионов единиц. Вроде бы, подавляющее большинство — это мелкий мусор. Вот только скорости полёта за пределами атмосферы совсем другие. Та же МКС движется с относительной скоростью 28 000 км/ч. И столкновение с каким-нибудь мелким обломком или, упаси боже, гайкой может стоить дыры в обшивке или иллюминаторе. Или повреждения внешнего оборудования. Станцию уже больше 30 раз переводили на новую орбиту, чтобы избежать столкновения. Но отследить мелкий мусор технически невозможно. Например, пару лет назад прилетело в манипулятор. К счастью, только шкурку попортило.
Читать дальше →

IT-2024: AI не решает — решают люди

Level of difficultyEasy
Reading time7 min
Views8.5K
Году в 2010-м я читал журнал с интервью одного из тогдашних топов диджитал-сферы и мне запомнилась фраза про то, что тот, кто может спрогнозировать ситуацию в отрасли на пять лет вперёд, тот идиот или мошенник. В наше время горизонт планирования сократился чуть ли не до квартала: трудно прогнозировать, понимая, что на твой бизнес, твою карьеру, твои инвестиции может оказать влияние что угодно, от международного конфликта до вируса или пожара в ЦОДе за тысячи километров от тебя. Уже давно пропало ощущение «островка стабильности» дома, в семье, среди коллег и друзей. В таких условиях остаётся одно, на что можно положиться, рассчитывать и что нужно ценить, — это люди. Увы, современные компании, да и сами люди этого не понимают. Я хочу вас предостеречь: берегите людей — это главный актив. И теперь это не фигуральное пафосное выражение, а формула выживания. 

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

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

Собираем электрогитару из конструктора

Level of difficultyEasy
Reading time8 min
Views19K


Привет, Хабр! Что может быть лучшим новогодним подарком для гитариста, чем электрогитара, которую он собрал сам? Конечно, многие предпочли бы престижный инструмент, усилитель или эффект от известного производителя.

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

Лично мне нравится не только играть на гитаре, но и мастерить, а также украшать свои поделки. Поэтому у меня теперь есть самодельная гитара, о процессе изготовления которой я подробно расскажу.
Читать дальше →

Игра: Спутник против мусора

Level of difficultyEasy
Reading time9 min
Views3.9K


Помните нашу игру «Атомный Графъ»? Если что, очень рекомендуем ознакомиться. А сейчас у нас новая больная фантазия разработка — игра «Спутник против мусора». Название говорящие: вы в виде своего альтерэго — спутника — летаете в околоземном пространстве и уворачиваетесь от всякой фигни, кружащейся вокруг Земли. Что-то даже можно будет испарить лазером, такой вот вы милитаристский аппарат. Хотя нет, конечно же, мы вдохновлялись совсем другим: 11 июля 2023 года наш пикоспутник с космическим сервером отделился от пускового контейнера и стал вольным птахом. И мы где-то в глубине души, совсем на донышке, волновались, не столкнётся ли спутник с каким-нибудь космическим мусором.
Читать дальше →

OpenAPI станет проще: готовится версия 4.0

Level of difficultyEasy
Reading time7 min
Views12K


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

До появления расширения OpenAPI DevTools проектировать схему OpenAPI приходилось вручную. Хотя это было непросто, оно того стоит в любом случае. Недавно мы в RUVDS переделали свой API под данный стандарт — и увидели, насколько это эффективно и полезно для всех пользователей и разработчиков, которые обращаются к серверным API.

Сейчас в разработке находится четвёртая версия OpenAPI. Она станет проще и универсальнее, то есть подойдёт даже для тех HTTP API, для которых не годится текущая версия 3.0 (3.1.0).
Читать дальше →

Графика древности: палитры, часть 2/2

Level of difficultyEasy
Reading time26 min
Views11K

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

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 4

Level of difficultyMedium
Reading time6 min
Views5.2K

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


Сегодня мы рассмотрим следующие аспекты:

  • как сверстать поиск, чтобы им мог воспользоваться пользователь скринридера;
  • чем полезно свойство outline-offset;
  • зачем вам нужно использовать медиа-функцию prefers-color-scheme;
  • где должен находиться заголовок в разметке блока с новостью.

Давайте начнём!

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

Классическое программирование на грани вымирания

Level of difficultyEasy
Reading time6 min
Views96K
Все изображения в этой статье сгенерированы нейросетью DALL-E 2

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

Период моего юношества пришёлся на 80-е годы. Тогда я занимался программированием ПК вроде Commodore VIC-20 и Apple IIe дома. Во время обучения в Калифорнийском университете, где я в итоге получил свою докторскую степень, основная часть моей учебной программы была посвящена «классическим» компьютерным наукам: программирование, алгоритмы, структуры данных, системы и различные языки. В классической форме задача компьютерных наук заключается в представлении некой идеи в виде программы, написанной человеком на языке вроде Java, C++ или Python. Причём, какой бы сложной ни была эта идея — начиная от алгоритма объединения баз данных и заканчивая крайне сложным протоколом консенсуса Paxos — её можно выразить в виде понятной для человека программы.
Читать дальше →

Проект «Селенит». Часть 5: Контроллер, встроенное ПО и квадратурный модулятор

Level of difficultyMedium
Reading time8 min
Views7.9K

Аппаратура SDR (Software-defined Radio), как и следует из названия, представляет собой программно-аппаратный комплекс. В предыдущих частях цикла были рассмотрены преимущественно аппаратные решения радиотракта трансивера Selenite Lite. В большей части данной публикации будет рассмотрена та часть радиостанции, которая предназначена для управления «Radio» и его связи с «Software».

Речь пойдёт о контроллере, на котором реализовано составное устройство USB, включающее в себя звуковое устройство USB и виртуальный COM-порт. Данная конфигурация позволяет управлять трансивером извне по CAT-интерфейсу и производить обмен аудиопотоками с программой, которая производит обработку сигналов для работы в эфире.

Все части цикла статей о создании любительской радиостанции:

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

Мистер Твистер. Впечатления о Twister OS для Raspberry Pi

Level of difficultyEasy
Reading time8 min
Views12K

Когда я купил себе Raspberry Pi 400 и водрузил на него Dosbian, я заранее знал, что рано или поздно наиграюсь в «X-Com» и захочу попробовать что-нибудь ещё. Классическую Raspberry Pi OS я уже видел, поэтому душа требовала разнообразия, а пятая точка — приключений. И тут я совершенно случайно наткнулся в сети на упоминание Twister OS — альтернативной операционной системы для «малины» на базе той же Raspbian, но с настраиваемым графическим интерфейсом, который умеет мимикрировать под другие популярные операционки, что может быть важно для людей, непривычных к Linux. Разумеется, я решил попробовать Twister на своём Raspberry Pi и оценить его возможности. Сразу отмечу, что обзор не претендует на техническую глубину — скорее, это впечатления простого пользователя, пытающегося понять, стоит ли тратить время на установку Twister OS, или это баловство, и лучше Raspbian человечество ничего не придумало. Да, предупреждаю сразу: внутри будет много картинок!
Читать дальше →

Сканирующий переводчик: что это такое?

Level of difficultyEasy
Reading time10 min
Views6K

Сегодня мы поговорим о такой очень интересной штуке, которая мне досталась в своё время совершенно бесплатно в качестве подарка — электронном сканирующем переводчике Quicktionary TS.

Это весьма любопытный артефакт ушедшей эпохи. Тем не менее, свою работу он делает и делает её хорошо даже сейчас…
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity