Search
Write a publication
Pull to refresh
28
0
Череп @5kull_h4ck3r

User

Send message

Тестируем PCIe в новом Raspberry Pi 5

Level of difficultyEasy
Reading time9 min
Views39K

Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5.

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

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

Level of difficultyEasy
Reading time9 min
Views23K

Привет, Хабр! Вы думали, что в новых аккумуляторных батареях не бывает разбалансировки? — Бывает, причем у большинства. И это не признак брака или подделки, а особенность технологии, которую необходимо учитывать.
Читать дальше →

Извлечение текста из файлов PDF при помощи Python

Level of difficultyMedium
Reading time15 min
Views75K

▍ Введение


В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных.

Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).

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

Катализаторы

Level of difficultyEasy
Reading time8 min
Views9.6K
Картинка Freepik

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

Простой аналоговый синтезатор MFOS Noise Toaster

Level of difficultyEasy
Reading time10 min
Views5.8K

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

Минимум менеджеров, максимум инженеров: как Threads* удалось выпустить за пять месяцев

Level of difficultyEasy
Reading time13 min
Views7.1K
В июле этого года компания Meta* выпустила своё новое мобильное приложение Threads* — сервис микроблоггинга, ставший новым конкурентом X (бывшего Twitter). В первые пять дней после выпуска приложение скачали больше ста миллионов раз — новый рекорд для компании. Предыдущий рекорд Meta* в установке нового приложения за первые пять дней был равен одному миллиону. Вот как выглядит кривая роста для количества пользователей:

Рост приложения Threads* за первую неделю. Так как в момент выпуска Threads* был приложением только для мобильных, это число также равно числу установок приложений

Это огромные числа для нового приложения, даже учитывая то, что более чем установка нового приложения рекламировалась двум миллиардам ежемесячно активных пользователей Instagram*. Когда я узнал эту статистику, то первым делом задался вопросом, как же команда разработчиков осилила этот выпуск. Похоже, особых проблем при этом у пользователей не возникало. Особенно учитывая то, что команда Threads* сдвинула выпуск на более ранние сроки после того, как Twitter ограничил просмотры бесплатных пользователей до 600 постов в день; это решение создало прекрасную возможность для конкурента Twitter. Threads* был выпущен спустя считаные дни после введения в Twitter ограничений просмотров: и, похоже, что приложение правильно подобрало момент.

Но как всё это выглядело изнутри, с точки зрения разрабатывавших приложение инженеров? За ответами я обратился к команде разработки Threads*, которая с радостью поделилась подробностями.
Читать дальше →

Япония — родина мобильного гейминга

Level of difficultyEasy
Reading time9 min
Views5.1K
image

Мобильные игры были с нами всегда. Мы привыкли к тому, что в нулевых были чёрно-белые «Нокии» и «Сименсы», на которых были простенькие чёрно-белые игры. Мы все прекрасно помним, как появлялись первые телефоны с цветными экранами и полифонией — потихоньку они умнели, становились ярче и громче. Появлялись модели с выходом в Интернет (кто из нас не попадал на кругленькую сумму, просаживая весь трафик, качая очередные заставки на экран и игры?). В конце концов мы обменивались скачанными играми по ИК-порту. Однако мобильный гейминг начинался вовсе не со «Змейки»…
Читать дальше →

История «некоммерческой» лаборатории OpenAI, которая полюбила деньги

Level of difficultyEasy
Reading time10 min
Views37K
Логотип OpenAI в главном офисе, 2020 год, источник

Лаборатория OpenAI образована 11 декабря 2015 года как некоммерческая организация, которая должна работать на благо всего человечества. Абсолютно бескорыстно, принося пользу всей цивилизации, публикуя свои наработки в открытых репозиториях для всех людей. Главной идеей была забота, что будущий сильный ИИ может оказаться в частной собственности какой-то корпорации — а этого нельзя допустить. Поэтому и создали «общественную лабораторию».

Но со временем ситуация изменилась. Сначала в 2019 году пришлось зарегистрировать дочернюю структуру OpenAI LP (limited partnership), имеющую право на коммерческую деятельность и получение прибыли. Структура была нужна «чисто формально» для оформления инвестиций, которые фирма обязана вернуть из будущей прибыли. Поскольку у некоммерческой лаборатории по определению нет прибыли, то «пришлось» зарегистрировать LP. Просто чтобы получить инвестиции.
Читать дальше →

Систематический подход к отладке

Level of difficultyEasy
Reading time6 min
Views7.9K

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

[1] Когда я вернулась из своего творческого отпуска, мне отправили пару багов со словами: «мы сохранили их для тебя!»

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

(Да, наш главный инженер занимается и технической поддержкой; для этого я здесь и нужна.)

Итак, как же я это делаю?

Если мне регулярно присылают баги, которые мне нужно устранить в незнакомых мне системах, то какой же процесс я использую?

И можно ли его применять к чему-то ещё, помимо кода?
Читать дальше →

Металлы с памятью формы

Level of difficultyMedium
Reading time11 min
Views14K
Картинка Freepik

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

Альтер эго. Как создать виртуальную личность и распознать фейк

Level of difficultyEasy
Reading time11 min
Views24K


Я люблю общаться с ботами и владельцами фейковых аккаунтов в социальных сетях. В большинстве случаев они довольно милые и относительно безобидные. Порой даже интересно угадывать, что именно они попытаются впарить мне в очередной раз: тотализаторы, БАДы, лохотрон с криптой или недвижимость в Дубае? На днях я несколько часов обстоятельно общался с одной обаятельной девушкой, пока по ряду характерных признаков не убедился в том, что этот аккаунт — тоже фейковый. Признаюсь, раскусить подделку в этот раз было непросто: создатели липовых учёток научились придавать им определённую правдоподобность. Любопытства ради я захотел разузнать, как сейчас создаются виртуальные личности, какой софт и технологии для этого используются и существуют ли способы с ходу определить, что перед тобой не живой человек, а подделка?
Читать дальше →

Собственный строковый тип на Rust

Level of difficultyMedium
Reading time14 min
Views7.3K

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

pub enum Expr<'src> {
  Int(u32)
  Ident(&'src str),
  // ...
}

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

Битва русов и ящеров за воду Байкала: как пародия на неоязычество покорила Рунет?

Level of difficultyEasy
Reading time10 min
Views49K

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

Форматирование текста на C++ старым и новым способом

Level of difficultyMedium
Reading time8 min
Views18K

Форматирование текста на C++ можно реализовать несколькими способами:

  • потоками ввода-вывода. В частности, через std::stringstream с помощью потоковых операций (таких как operator <<);
  • функциями printf, в частности sprintf;
  • с помощью библиотеки форматирования C++20, в частности std::format / std::format_to;
  • с помощью сторонней библиотеки, в частности {fmt} (основа новой стандартной библиотеки форматирования).

Первые два варианта представляют старые способы. Библиотека форматирования, очевидно, является новым. Но какой из них лучше в плане производительности? Это я и решил выяснить.
Читать дальше →

Жирный гитарный дисторшн ProCo RAT

Level of difficultyEasy
Reading time8 min
Views8.9K

Привет, Хабр! Знаете, какую педаль перегруза использовали Джеймс Хетфилд и Кирк Хэмметт в дебютном альбоме Металлики «Kill `Em All»? Пользовались ею и Дэвид Гилмор, и Крист Новоселич из группы Нирвана, да и сам Курт Кобейн. И многие другие.

Сегодня мы изучим и соберём педаль, которая успешно продаётся в течение 46 лет. Не только по той причине, что через неё играли знаменитости, но и потому, что она действительно создаёт настоящий классический дисторшн.
И всё-таки, чем дистршн отличается от овердрайва?

Правда ли, что при расширении Вселенной энергия не сохраняется?

Level of difficultyMedium
Reading time10 min
Views17K

Расширение Вселенной — это увеличение со временем расстояния между гравитационно несвязанными частями наблюдаемой Вселенной (галактиками и их скоплениями). Сложно представить, но Вселенная не расширяется «во что-либо», и «вокруг неё» не обязательно должно существовать какое-то «дополнительное» пространство – вся Вселенная просто становится больше.

Любому наблюдателю из любой части Вселенной покажется, что все галактики, кроме ближайших друг к другу (связанных гравитацией), удаляются со скоростями, в среднем пропорциональными их расстоянию от наблюдателя. Хотя объекты не могут двигаться быстрее света, это ограничение действует только для локальных систем отсчёта и не ограничивает скорости рецессии космологически удалённых объектов – в данном случае между ними появляется дополнительное пространство.

Космическое расширение является ключевой характеристикой космологии Большого взрыва. Математически оно может быть смоделировано с помощью метрики Фридмана-Леметра-Робертсона-Уокера, где оно соответствует увеличению масштаба пространственной части метрики пространства-времени Вселенной (которая определяет размер и геометрию пространства-времени). В этих рамках стационарные объекты со временем разбегаются друг от друга, поскольку пространство расширяется. Это представить ещё сложнее, но в рамках этой метрики можно принять эквивалентное расширению Вселенной описание, при котором пространство не расширяется, а объекты просто раздвигаются друг от друга.
Читать дальше →

Робототехнические манипуляторы с компьютерным зрением

Level of difficultyEasy
Reading time8 min
Views11K
Картинка Freepik

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

Работа в этой области позволит освоить микроконтроллеры, компьютерное зрение, изучить различные виды кинематики манипуляторов.

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

Простой способ компрометации приватных ключей при помощи SSH-Agent

Level of difficultyMedium
Reading time8 min
Views11K

Введение


Однажды я просматривал видео из закладок и решил запустить AASLR: Leveraging SSH Keys for Lateral Movement Хэла Померанца. Примерно на середине видео я захотел начать заново и открыл заметки, чтобы документировать полученную информацию, потому что это был очень интересный материал, которого я не видел раньше. Воспользовавшись этой информацией как фундаментом, я начал искать другие способы применения утилиты ssh-agent и решил создать демо в своей домашней лаборатории. В этом посте я расскажу о своих открытиях.
Читать дальше →

Почему на новые SSD ставят вентиляторы. Термотроттлинг

Level of difficultyEasy
Reading time6 min
Views18K
ineo M.2 2280 SSD Rocket Heatsink с вентилятором, источник

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

С каждым поколением PCIe пропускная способность линий PCIe обычно удваивается. В PCIe 4.0 скорость SSD приближалась к теоретическому максимуму 8 ГБ/с. Сегодня SSD PCIe Gen 5.0 x4 разгоняются до 10−14 ГБ/с, при этом сильно нагревается контроллер (неудивительно, что эти микросхемы вообще долго не живут).
Читать дальше →

Очередной ответ на вопрос: «Зачем нужна семантика?»

Level of difficultyMedium
Reading time7 min
Views5.6K

Этот вопрос преследует меня всю мою карьеру, начиная с 2013 года. Одни разработчики отвечают, потому что так правильно. Другие говорят про SEO. Третьи — ничего не говорят. А я считаю, что атрибут role является отличным ответом на этот вопрос!

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

Information

Rating
Does not participate
Registered
Activity