Обновить
607
164.1

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

Отправить сообщение

Конурбация Рура: чем живёт бывшее индустриальное сердце Европы

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели14K
Карта землепользования Рура из регионального плана развития. Видна сросшаяся городская ткань конурбации, плотная транспортная сеть и сохранившиеся очаги промышленности (серый цвет). Источник: RVR

Я долго откладывал материал по Руру на потом, для него нужно было созреть. Рурский бассейн, где до WWII добывалась половина угля и выплавлялась треть европейской стали, и который стал символом индустриальной мощи, за последние полвека сильно сдал. Но не сдался, пусть и прошёл через мучительную трансформацию. Мы приехали в Дортмунд в 2018 г. после учебного модуля в США. И, конечно, главным вопросом было, как региону после коллапса тяжёлой промышленности удалось избежать судьбы Детройта. Потрясло тогда отношение местных к ржавеющим остовам промышленных гигантов как к части истории, которую невозможно вычеркнуть. Два других принципиальных вопроса после США были: как агломерации удаётся заниматься развитием общей инфраструктуры (всегда и везде найдутся упёртые дядьки), и как удалось провернуть ревитализацию Рура, став центром экологических компетенций в пост-угольную эру. Но обо всём по порядку.
Читать дальше →

Арифметика первого класса в системе типов Rust

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.5K

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

Ручная работа со стеклом. Резка трубчатых заготовок, бутылок

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

Обычно мастер-самодельщик сталкивается в своей работе со стеклом листовым. Цилиндрические заготовки — стеклянные палочки, капилляры, трубочки, трубки и ТРУБЫ могут использоваться в техническом творчестве или декоративно-прикладном искусстве (ДПИ) при работах экзотических. Очень популярная задача — резка стеклянной тары — банок, бутылок. И, конечно, стеклянное приборостроение, дела стеклодувные. Область бытия, где разносортные и разнокалиберные трубочки и палочки — основные заготовки для любых, даже самых сложных и замысловатых работ. И резка их — первейший навык.
Полюбопытствовать

Гроза бэклогов и пристанище необычных игр: как я полюбил Switch

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели14K
image

Признаться, Nintendo Switch в 2017-м я встретил совсем не так радужно, как отношусь к ней сейчас. Игр было мало, да и были вопросы к железу. Страшно подумать, но с релиза прошло уже семь лет, и за эти годы вышли четыре ревизии консоли. Но главное — Switch стал грозой бэклогов, пристанищем инди и самых разных японских игр, ранее не выходивших на Западе.
Читать дальше →

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

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.9K


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

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

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

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели102K


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

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

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

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


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

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

Скрытые возможности элемента <input>

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели29K

Элемент <input> в HTML самый интересный.

Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний вид (зачастую в ущерб стилистике).

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

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 4

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

В прошлый раз мы оставили наших героев в тот замечательный момент, когда в начале 1991 года они наконец ушли из Softdisc и решили создать собственную компанию. Успех их первого творения, Commander Keen in Invasion of the Vorticons, ставшего первой игрой под PC с реализацией горизонтального скроллинга, открывал перед командой единомышленников большие перспективы. Но ими нужно было суметь воспользоваться — а над друзьями висели обязательства перед бывшим шефом делать ему не менее одной игры в два месяца.

Все части цикла статей о создании DOOM:
Читать дальше →

Точка доступа Wi-Fi из камеры видеонаблюдения на OpenIPC

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели18K


Пару десятков лет назад меня впечатлила новость, что какая-то корпорация смогла использовать настолько крутые технологии, что впихнули веб-сервер в коннектор RJ45. Для чего это нужно было уже и не вспомню, но сейчас, ковыряясь со своими камерами видеонаблюдения, меня осенила мысль, что плата камеры 38x38 мм не намного больше. Веб-сервер на ней и так есть. Это уже бытовуха. Скукота-скукотища. А вот сделать из ненужной камеры Wi-Fi-точку доступа — тут уже и польза будет. Вместо того, чтобы бороться одним роутером за дальность сигнала, можно просто использовать ещё один, чтобы «вафля» подключалась в самых недосягаемых уголках дома, таких как подвал или шубохранилище. Подобные устройства продаются совсем недорого. Но если имеется плата камеры с мусорки, то мы можем получить на халяву такой гаджет и в нагрузку получить бесценный опыт по тюнингу и сборке OpenIPC. Да и по сути, цель поста — не получение девайса ради экономии трёх копеек, а использование примера для понимания, как может быть полезна OpenIPC. Возможно, вы хотите собрать для одного из своих проектов камеру, которая в дополнение работает как Wi-Fi-точка доступа. Возможно, ещё миллион идей вас посетят в процессе чтения.
Читать дальше →

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

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


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

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

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

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

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

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

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

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

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

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

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 1/2)

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели18K

Примерно раз в десятилетие на русскоязычных около-компьютерных ресурсах кто-нибудь поднимает тему такого элемента архитектуры 8-битной Денди и её прародителей, как «маппер», пытаясь на пальцах объяснить, что же это такое. И каждый раз у меня возникает ощущение, что рассказчики сами не вполне знакомы с сюжетом. К тому же практически всегда речь идёт о чисто технических моментах, совершенно не затрагивая историю вопроса: откуда взялось, как развивалось, чем было полезно для фактических игр — что, на мой взгляд, может быть интересно гораздо более широкому кругу лиц.

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

Когда старый софт лучше нового

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

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

Практика показывает, что новые версии утилит часто изменяются к худшему, раздуваются, обрастают ненужными функциями, начинают тормозить или вовсе перестают запускаться. Ухудшение программного продукта со временем — известный процесс, для которого есть специальный термин: дерьмофикация (enshittification, слово придумал Кори Доктороу). Она происходит не только с десктопным или мобильным софтом, но и с платформами. Все мы за последние годы наблюдали дерьмофикацию Google, Reddit, Amazon, Twitter и Facebook (два последних вообще признаны экстремистами и запрещены в РФ). Аналогично с десктопным софтом и мобильными приложениями.

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

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

Время на прочтение10 мин
Охват и читатели7.9K

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

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

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 3

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

Продолжим наш рассказ о том, как несколько весьма своеобразных программистов создали великий и ужасный Doom. Мы уже поговорили о непростом детстве двух Джонов, главных героев нашей истории, и рассказали, как Кармак и Ромеро начали писать игры. Затем — как они встретились в депрессивном и криминальном городе среди луизианских болот, работая на компанию Softdisc. Теперь же наши герои дозрели до мысли о том, чтобы писать крутые игры вместе — тем самым встав на скользкую дорожку серьёзного геймдева. Они ещё не знали, куда именно она их приведёт, но были полны энтузиазма, жажды создания крутейших игр, а также фантазий самого мрачного характера. Впрочем, их первое совместное творение получилось совсем не мрачным — и некоторых членов команды это буквально выморозило!

Все части цикла статей о создании DOOM:
Читать дальше →

Мой первый прототип поискового движка

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

Я реализовал первый прототип собственного механизма поиска, который сокращённо назвал PSE (Personal Search Engine). Создал я его с помощью трёх скриптов Bash, возложив всю основную работу на sqlite3, wget и PageFind.

Браузер Firefox вместе с Newsboat сохраняют полезную информацию в базах данных SQLite. В moz_places.sqlite содержатся все посещённые URL-адреса и адреса закладок (то есть moz_bookmarks.sqlite базы данных SQLite). У меня получилось около 2000 закладок. Это меньше, чем я предполагал, так как многие оказались нерабочими из-за битых ссылок.

Нерабочие URL-адреса страниц сильно замедляют процесс сбора, так как wget приходится ожидать истечения различных таймаутов (например, DNS, ответа сервера, время скачивания). URL-адреса из «истории» составили бы интересную коллекцию для сбора, но тут не обойтись без списка исключений (например, нет смысла сохранять запросы к поисковым системам, веб-почте, онлайн-магазинам). Изучение этого вопроса я отложу до следующего прототипа.
Читать дальше →

Dead by Daylight: мультиплеерный ужас или кровавый Super Smash Bros

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели7.5K
image

Хоррор-игры за последние десять лет пережили некий ренессанс — популярность отдельных инди-проектов вкупе с возникновением таких явлений как «стриминг» и «летсплеи» вернули жанр на рельсы, дав толчок как мейнстримным ААА-проектам, так и независимым работам.

Мультиплеерным хоррором никого не удивишь: все хотя бы раз играли с друзьями в кооперативные Left 4 Dead, Killing Floor или CoD Zombies. Другое дело соревновательная игра, которая называет себя ужастиком. Какие правила надо придумать и как сбалансировать стороны, чтобы никто не чувствовал себя приниженным, и всё ещё вызывать страх у игроков? Ответ дадут канадцы из Behaviour Interactive, создавшие уникальный проект, который уже почти 8 лет является одной из самых популярных онлайн-игр и отдаёт дань уважения всей культуре хорроров.
Читать дальше →

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.7K


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

Становится ли ПО хуже?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели17K

Недавно я наткнулся на пост Никиты Прокопова Software disenchantment. Он заставил меня вспомнить пост Мацея Цегловски The Website Obesity Crisis и множество других статей подобного типа. Среди людей, пишущих о разработке ПО, возникает всё более широкий консенсус о том, что приложения становятся больше, медленнее и забагованнее. И это в эпоху, когда оборудование должно позволить нам писать быстрее, меньше и надёжнее. DOOM, вышедший в 1996 году, можно запустить в тесте на беременность и на сотне других неожиданных устройств. Тем временем, современные чат-приложения, работая в фоновом режиме, занимают полгигабайта ОЗУ (или больше), а иногда полностью зависают даже на самом мощном железе.

Вышеупомянутые посты по этой теме состоят примерно на 80% из справедливой и разумной критики, а на 20% из оторванного от реальности ворчания.

Большинство разработчиков понимает, что глупо спрашивать «это ОС для смартфонов, что в ней может быть сложного?» или «моё приложение для работы с электронными таблицами в 90-х занимало 10 килобайт, тогда почему Factorio весит целый гигабайт?» Если вы не присутствовали при разработке, то не сможете оценить все её проблемы и сложности.

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

Почему же мы этого не делаем?
Читать дальше →

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность