All streams
Search
Write a publication
Pull to refresh
60
0

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

Send message

Как я ускорил движок на 13%

Reading time6 min
Views8.1K

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

Стриминг видео с помощью Akka Streams

Reading time10 min
Views5.2K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что стриминг видео не должен быть такой задачей, с которой у кого-либо возникают сложности. Всё дело — в правильном подборе инструментов, среди которых можно отметить пакет Akka Streams. Использование этого пакета позволяет эффективно разрабатывать приложения для потоковой передачи видео.



Правда, не следует думать, что то, о чём мы будем тут говорить, подобно простому примеру, вроде println(«Hello world»), в котором используется система акторов Akka. Сегодня вы узнаете о том, как создать свой первый сервис для потоковой передачи видео (прошу прощения, если моё предположение неверно, и у вас это уже не первый такой проект). В частности, тут будут использованы пакеты Akka HTTP и Akka Streams, с помощью которых мы создадим REST API, который обладает способностями стриминга видеофайлов в формате MP4. При этом устроен этот API будет так, чтобы то, что он выдаёт, соответствовало бы ожиданиям HTML5-тега <video>. Кроме того, тут я скажу несколько слов о наборе инструментов Akka в целом, и о некоторых его компонентах, вроде Akka Streams. Это даст вам определённый объём теории, которая пригодится вам в работе. Но, прежде чем мы приступим к делу, хочу задать один вопрос.
Читать дальше →

CSS, JavaScript и блокировка парсинга веб-страниц

Reading time5 min
Views16K
Недавно мне попался материал, посвящённый проблеме загрузки CSS-файлов, которая замедляет обработку материалов страниц. Я читал ту статью, стремясь научиться чему-то новому, но мне показалось, что то, о чём там говорилось, не вполне соответствует истине. Поэтому я провёл собственное исследование этой темы и поэкспериментировал с загрузкой CSS и JavaScript.


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

Рунет родился из космической гонки — и без новой космической гонки Рунет ждёт упадок

Reading time25 min
Views26K

Каким образом в нулевые в России случился бум IT? Дело вовсе не в высоких ценах на нефть. Если посмотреть на биографии и возраст лидеров движения — это сплошь математики и физики, получившие, очевидно, очень фундаментальное образование в СССР 70-80-х. И конвертировали это в «Яндекс» и далее по списку. Ну и остальные кадры оттуда же. Если в стране был такой сильный физмат, то это показатель качества образования в целом. Космическая гонка, опять же. В общем, условно, последние 20 лет СССР обеспечили первые 20 лет Рунета. Вопрос: что дальше? Советское образование кончилось 30 лет назад. Рунета не было бы, не будь этих 20-30 лет бума советского образования. Откуда бы отцы Рунета пришли тогда? Так вот, последние 30 лет — это 30 лет без бума советского образования. И кадровый голод, по-моему, уже начинается.
В России еще остается небольшое количество научных школ, работает несколько сильных университетов, есть институты, имеющие научный авторитет в мире. Тем не менее, если текущая ситуация продлится еще лет 5–10, научная база в стране будет уничтожена настолько, что создавать ее придется практически с нуля, приглашая зарубежных специалистов, в том числе и опытных менеджеров, работающих в сфере науки. (Какое будущее ждет российскую науку)
Узнать историю

SB181: логический вычислитель на базе АЛУ 74LS181

Reading time4 min
Views4.9K


Уже какое-то время в моей мастерской дожидаются своего проекта пара микросхем АЛУ 74LS181. Но так как мысль о создании на их базе целого процессора была несколько пугающей, я решил задействовать эти чипы в роли «логического вычислителя»: своеобразного 8-битного калькулятора, который получает шестнадцатеричные входные данные и отображает результаты различных логических операций в двоичном и hex-форматах. Будучи собранным исключительно на базе логики микросхем 74-й серии без какого-либо микроконтроллера или ЦПУ, такое устройство оказывается удобным помощником в 8-битном программировании.
Читать дальше →

Психотронная тюрьма риторики: история о том, что мешает нам мыслить здраво

Reading time13 min
Views74K

Аристотель придумал, что в риторике есть четыре главных способа убеждения. Пафос — через эмоции и повествование. Логос — через факты и логику. Этос — через авторитет того, что убеждает. Есть еще кайрос, фактор контекста: того, когда вас пытаются убедить и при каких условиях.

Познакомился я с ними, когда работал академконсультантом в США: помогал получать высшее образование так, чтобы иметь хорошие оценки и не тратить слишком много денег. В колледжах США риторику изучают все гуманитарии на первом курсе, иногда даже технари. И так как всю риторику сводили именно к способам убеждения, мои клиенты из Ближнего Востока и Китая часто этим возмущались. И спрашивали меня, какой скрытый смысл в том, чтобы изучать такие очевидные вещи.

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

Я так много рассказывал об этом на кухнях и в чатах, что решил написать статью. А получился лонгрид с научными исследованиями, разбором влияния алгоритмических новостных лент, и безумным комиксом из мемов, который я делал 4 часа в Фигме. Поехали!

UPD Большое спасибо всем тем людям, что помогли мне исправить ошибки и очепятки! Только на Хабре так стремятся помочь, и это неоценимо.
Читать дальше →

Создание часов из обычных микросхем на макетной плате

Reading time4 min
Views19K
В этом материале речь пойдёт о том, как собрать часы из обычных микросхем.

Схема часов (оригинал)
Как собрать часы?

Жадные до свинца: как оружейники изобретают идеальный магазин

Reading time12 min
Views50K
За годы исследований военные инженеры придумали массу странных, вычурных и просто безумных конструкций. Проследим за их работой с 17 века и до наших дней.

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

Ленточная подача патронов на примере старого американского пулемета Browning 1917. Анимация целиком
Would you like to know more?

Дамп прошивки беспроводной Logitech K360 с помощью GreatFET

Reading time6 min
Views9.2K


Недавно чисто ради спортивного интереса я решил хакнуть клавиатуру, и в качестве первой подопытной выбрал самую дешевую беспроводную модель Logitech K360. Она уже несколько устарела, а ее основная микросхема также, как и используемый протокол беспроводной связи, ранее подробно разбирались. Можете посмотреть презентацию Mousejack Марка Ньюлина, почитать работу Трэвиса Гудспида по сниффингу nRF24, а также ознакомиться с упоминаемой в этих материалах разработкой KeyKeriki.

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

Мото AGM аккумулятор: ввод в эксплуатацию

Reading time7 min
Views25K

Привет, Хабр! Сегодня мы введём в эксплуатацию сухозаряженный мотоциклетный AGM аккумулятор. Данное руководство можно использовать и для обычных сухозаряженных кальциевых АКБ с жидким электролитом.

Заодно обсудим, чем отличаются разные типы свинцовых аккумуляторов, и как это сказывается на их применении. Как всегда, будут видео и показания приборов.
Узнать подробности

Будущее веба: станет ли рендеринг в <canvas> заменой DOM?

Reading time7 min
Views26K
В последнее время было немало горестных рассуждений о последствиях решения Google использовать HTML-элемент <canvas> для рендеринга всего, что видно на экране при работе с Google Docs. И то, что это многих беспокоит, вполне понятно. Когда-то веб был задуман как система для работы с тщательно структурированной информацией, полной осмысленных метаданных и рассчитанной на совместное её использование многими людьми. Но, вместо этого, тот веб, который мы видим сегодня, представляет собой довольно сложно и запутанно устроенные приложения, которые работают в браузерных «песочницах».


Решение Google, которое заключается в том, чтобы перейти от вывода на страницы HTML-элементов к рисованию пикселей на <canvas>, нельзя назвать чем-то таким, чего раньше никто не видел и не пробовал. Другие передовые веб-приложения уже вышли далеко за пределы традиционных схем работы с HTML-элементами. Так, в Google Maps вывод данных на <canvas> используется уже многие годы. В VS Code для отрисовки идеального интерфейса терминала тоже используется <canvas>. А в подающем надежды наборе инструментов Google Flutter, который позволяет создавать кросс-платформенные интерфейсы, в веб-браузере, по умолчанию, используется рендеринг с использованием <canvas>.

Но в этот раз происходящее вызывает несколько иные ощущения. А именно, появляется такое чувство, что рендеринг в <canvas> и другие современные технологии, вроде WebAssembly, увели нас за точку невозврата. Все привыкли к схеме работы, когда страница загружает, в виде обычного текста, JavaScript-код, который выполняется, взаимодействуя с HTML-элементами, видимыми в «инструментах разработчика». Сейчас возникает такое впечатление, что это — лишь небольшой этап на пути постоянно развивающихся технологий веб-разработки.
Читать дальше →

Как организовать трансляцию на 5 суток (почти) без разрывов?

Reading time5 min
Views4.2K
Недавно закончился наш слегка безумный спецпроект с роялем, падающим на танцующего котика. Пять суток подряд мы показывали с трёх камер висящий рояль и его клавиши с помощью сервиса потоковых трансляций Facecast и устройств Evacoder One. Хотим рассказать вам, как это всё было организовано, и поделиться своими впечатлениями. 
Узнать подробности

Плавка металлов за 9 минут в микроволновке и другие интересные штуки: обзор ТОП7 самоделок + еще одна

Reading time10 min
Views54K

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

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

Micro-USB-кабели и питание Raspberry Pi

Reading time6 min
Views30K
На ресурсах, посвящённых Raspberry Pi, часто всплывает вопрос о том, почему в углу экрана появляется маленький значок молнии, причём — даже тогда, когда используемого блока питания более чем достаточно для обеспечения того, что нужно плате. Этот значок указывает на понижение напряжения и выводится даже в тех случаях, когда напряжение, выдаваемое источником питания, падает ниже 4,63±0,07В на очень короткий промежуток времени.

Пользователи разной интересной электроники (пару лет назад и я был таким) обычно не особенно задумываются о Micro-USB-кабелях, используемых для питания их систем. Я решил произвести некоторые измерения, направленные на выяснение того, как применение различных кабелей влияет на параметры питания. И надо сказать, что хотя всё больше и больше устройств оснащаются разъёмами USB Type-C, кабели для которых обычно более качественны, чем Micro-USB-кабели, Micro-USB-разъёмы всё ещё используются в подавляющем большинстве устройств.



Это касается не только Raspberry Pi, но и других подобных устройств, получающих питание по Micro-USB-кабелям (например — это мобильные телефоны, заряжаемые по Micro-USB).

Сразу поделюсь моим основным выводом, который заключается в том, что для подачи питания на различные электронные устройства и для зарядки телефонов лучше пользоваться USB-кабелями с проводниками, толщина которых, как минимум, соответствует AWG20.
Читать дальше →

Ptpython: улучшенный REPL для Python

Reading time4 min
Views11K
Возникало ли у вас когда-нибудь желание быстро испытать какую-нибудь свежую идею, прибегнув к интерфейсу командной строки Python, к REPL? Вероятно, если речь идёт об эксперименте буквально с несколькими строками кода, вам просто не захочется создавать для этого новый «блокнот» Jupyter.

Но в подобной ситуации, возможно, вас не особенно порадует и перспектива использования классической консоли Python, так как она, в отличие от Jupyter Notebook, не поддерживает автодополнение ввода и не умеет работать с документационными строками. В REPL, кроме того, нельзя, после нажатия на Enter, исправлять ошибки в коде.

Что если можно было бы превратить довольно-таки скучную командную строку Python в многофункциональный инструмент, вроде того, запись работы с которым показана ниже?


Продвинутая командная строка Python

Собственно, именно на тех, у кого возникает подобное желание, и ориентирован проект ptpython.
Узнать подробности

Тест пропускной способности ASP.NET Core 5.0 в Kestrel, IIS, Nginx и Caddy

Reading time4 min
Views12K
Начиная с версии 2.2. ASP.NET Core поддерживает режим внутрипроцессного размещения приложения (InProcess) в IIS, направленный на улучшение производительности кода. Рик Страл написал статью, в которой подробно исследовал эту тему. С тех пор прошло три года, теперь платформа ASP.NET Core добралась до версии 5.0. Как это повлияло на производительность ASP.NET Core-проектов на различных серверах?


Узнать подробности

Советский реактор РБМК: 35 лет после Чернобыльской катастрофы

Reading time10 min
Views34K
Тридцать пять лет назад на АЭС Форсмарк в Швеции сработала система предупреждения о радиационной опасности. После расследования было установлено, что источником радиации была не сама электростанция, а нечто, находящееся за её пределами. В итоге, с учётом направления господствующих ветров, было выяснено, что радиация пришла с советской территории. Советское правительство, после некоторых политических распрей, признало, что источником радиационного заражения была Чернобыльская атомная электростанция, на которой произошла авария.

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



В пользу этой идеи говорит тот факт, что оставшиеся реакторы серии РБМК, включая три установки на Чернобыльской АЭС, функционировали без заметных проблем с 1986 года, а девять из них работают до сих пор. В ходе международного расследования причин возникновения Чернобыльской катастрофы в соответствующих отчётах МКГЯБ постоянно говорится о недостаточном уровне «культуры безопасности».

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

Балет и роботы

Reading time11 min
Views8.7K

Оцветнение видео под капотом


Продолжаю рассказывать о своём необычном увлечении. Моё хобби заключается в алгоритмическом преобразовании древнего черно-белого видео в материал, который выглядит современно. Про мою первую работу написано в этой статье. Прошло время, мои навыки улучшились, и теперь я не смеюсь над мемом «Zoom and enhance».


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

Защита от гнева богов. Устройства защиты от импульсных перенапряжений

Reading time17 min
Views70K
Продолжаем тему электроликбеза про устройства защиты, и этот пост — знакомство с устройствами защиты от импульсных перенапряжений (УЗИП). Это устройства для вашего электрощита, призванные бороться с кратковременными всплесками напряжения, например из-за грозы. Текст рассчитан для нетехнарей, так что добро пожаловать) Видеоверсия в конце.


Познакомиться с УЗИП

Hack the hackers: полное руководство по прохождению квеста

Reading time15 min
Views9.7K
Котика разбили, рояль спасли… точнее, наоборот: котика скачали с сервера, роялю поломали ножки, но в целом он бодрячком. И сегодня был последний день, когда все желающие могли попробовать свои силы в скачивании NFT-гифки с танцующим котиком, хотя ноутбук уже пять дней как двинул лапти за печь. А теперь мы вскрываем все карты и рассказываем обо всех загадках и их решениях.
Посмотреть разбор

Information

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