Search
Write a publication
Pull to refresh
395
205.5
Алексей Костенков @Erwinmal

Рептилоид

Send message

Простые средства наблюдения за небесными телами

Level of difficultyMedium
Reading time10 min
Views5.2K
Картинка: Мосфильм, х/ф «Карнавальная ночь»

Погружённые в свои будничные проблемы мы редко смотрим вверх, однако есть целый круг увлечённых людей, которые существенную часть своего времени живут со взором, обращённым к небу и именно от них мы получаем интересные наблюдения о новых небесных телах, явлениях и просто красивые фотографии, которые дают нам понимание того, насколько Земля мала и насколько «велика вокруг бездна»…

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

Восстановление исходного кода старой игры с ленточного накопителя

Level of difficultyMedium
Reading time8 min
Views7.7K

Моя история


Мне досталась лента с готовой версией игры Frogger 2: Swampy's Revenge. В детстве я очень любил эту серию игр.

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

Как вы можете понять, эта находка в случае её восстановления оказалась бы бесценной. Но как же вообще считать/записать данные на ленту? Зачем вообще использовались ленточные накопители?

В 1999/2000 годах средний размер жёсткого диска составлял примерно 10 ГБ, к тому же они не славятся долгим сроком службы.

Очень привлекательным предложением были ленточные накопители OnStream, потому что имели картриджи по 50 ГБ (25 ГБ без сжатия) и к тому же стоили дешевле большинства жёстких дисков!

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

Во что поиграть? — Brutal DOOM

Level of difficultyEasy
Reading time2 min
Views9.4K

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

Сегодня поговорим про Doom, а точнее про один из модов к нему. Среди геймеров всего мира данный проект пользуется безоговорочным уважением, ведь эта игра – ориентир того, КАК должен выглядеть шутер от первого лица. Бодрый, драйвовый, готичный и конечно же кровавый. А если я вам скажу, что все эти преимущества можно умножить на два, добавив в игру свободный прицел (как во всех современных играх), новое оружие, анимации и геймплейные фишки, а также море…(нет, не так)… МОРЕ КРОВИ?!

Читать далее

Циклоидный редуктор + BLDC мотор своими руками

Level of difficultyHard
Reading time9 min
Views22K

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

Как устроено распределение памяти

Level of difficultyMedium
Reading time11 min
Views28K

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

В этом посте я познакомлю вас с основами распределения памяти (memory allocation). Распределители памяти существуют, потому что иметь доступную память недостаточно, необходимо ещё и эффективно её использовать. Мы наглядно изучим, как работают простые распределители. Мы рассмотрим некоторые из задач, которые им необходимо решать, а также некоторые из методик, которыми они их решают. Прочитав этот пост, вы узнаете всё, что необходимо для написания собственного распределителя.
Читать дальше →

Колин Персиваль, автор tarsnap — математик, криптограф и программист. Невольный пособник крипты

Level of difficultyMedium
Reading time5 min
Views6.6K
Выдающиеся программисты современности часто оказываются самоучками. Иногда попадаются специалисты с официальным академическим образованием в области компьютерных наук. Или учёные из других областей: физики, математики, криптографы. Все они вносят в программирование академические знания и научную основательность.

Типичный пример — д-р математических наук Колин Персиваль (Colin Percival), бывший директор по безопасности FreeBSD, автор уникального сервиса резервного копирования Tarsnap и других проектов.

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

История одной уязвимости

Level of difficultyMedium
Reading time7 min
Views13K

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

Массовый дефейс веб-сайтов .РФ

Level of difficultyMedium
Reading time7 min
Views75K

26 мая 2023 года произошёл массовый дефейс веб-серверов национального сегмента сети интернет .РФ. В качестве цели атаки выступила CMS «Битрикс».

В ходе расследования выяснилось, что атака подготовлена заранее. Подготовка велась с 2022 года через известные уязвимости, включая CVE-2022-27228. Техническое описание см. на форуме разработчиков. Возможно, это самая крупная атака против национального сегмента .РФ в его истории.

Компания CyberOK выпустила отчёт c описанием атаки и разъяснением необходимых действий для того, чтобы удалить с сервера бэкдор, устранить уязвимости «Битрикса» и восстановить приложение. Также приведены рекомендации по защите веб-приложения.
Читать дальше →

Сколько памяти нужно для запуска 1 миллиона конкурирующих задач?

Level of difficultyMedium
Reading time6 min
Views22K

В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.

Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать дальше →

Мы сделали новый DNS*

Level of difficultyEasy
Reading time4 min
Views10K
* для нашего хостинга :)

И решили мы это сделать потому, DNS нужно выделить в отдельный, самостоятельно разворачиваемый сервис и заодно напилить фичей.


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

Паровой двигатель

Level of difficultyEasy
Reading time13 min
Views25K
Картинка Vecstock, Freepik

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

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

Ностальгические игры: GTA Vice City (часть 2)

Level of difficultyEasy
Reading time8 min
Views9K

Сегодня я хотел бы вернуться на улицы солнечного Майями и продолжить ностальгический рассказ о Grand Theft Auto: Vice City.

За что вы любите эту игру? Наверняка за интересную историю и разнообразный геймплей. Вместе с тем, уверен, что она занимает особое место в сердце и памяти еще и благодаря прекрасной музыке.

В этой части обзора я хочу рассказать про саундтрек игры, а также её переиздания на разные платформы, в том числе про недавно вышедшее и нашумевшее – The Definitive Edition. А если вы пропустили прошлый выпуск, то переходите по ссылке.

Читать далее

Изменить порт по умолчанию или настроить файрвол правильно?

Level of difficultyEasy
Reading time5 min
Views18K

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


kdpv

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

Действительно ли Вселенная фундаментально нестабильна?

Level of difficultyMedium
Reading time8 min
Views11K

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

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

Архитектура и реактивное программирование

Level of difficultyMedium
Reading time9 min
Views33K
reactivity as a pattern for low models coupling

Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Читать дальше →

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

Level of difficultyEasy
Reading time6 min
Views6.4K

Как-то раз мы сидели с другом и подумали: а что, если попробовать управлять вещами реального мира из мира виртуального?! Например, роботами. Мысль не новая, и в том или ином воплощении она широко распространена, например, в области IoT.

Немного забегая вперёд: в результате мы разработали роботов и систему удалённого управления. Один из видеороликов рабочих тестов системы заметили на телеканале НТВ, и нас пригласили на съёмки телепередачи "Чудо техники", которые прошли в Сколково, в Институте науки и технологий.

Но обо всём по порядку…
Читать дальше →

У HDD нет будущего? Погодите, не так быстро…

Level of difficultyEasy
Reading time5 min
Views32K


Будущее HDD зависит от того, кого спросить. Есть адепты SSD, которые не видят в «устаревшей» технологии HDD никаких перспектив. Действительно, SSD прогрессируют гораздо быстрее: это касается и технологического прогресса, и стоимости. Если экстраполировать нынешние темпы развития отрасли, то создаётся впечатление, что SSD вытеснят HDD во всех сферах применения в ближайшие десятилетия.

Но по факту этого не происходит.
Читать дальше →

Рендеринг на сервере и HTMX — это будущее

Level of difficultyMedium
Reading time14 min
Views44K

Современная ситуация с разработкой веб-приложений


Сегодня пользователи ожидают от веб-приложений плавной работы без перезагрузок страниц. К сожалению, эти ожидания обычно реализуются в виде одностраничных приложений (single-page application, SPA), использующих библиотеки и фреймворки наподобие React и Angular. Эти фреймворки очень специализированы и с ними может быть трудно работать.

Новый подход заключается в том, чтобы вернуть возможность реализации этого UX в руки инженеров, разрабатывавших веб-сайты до возникновения безумия SPA, используя готовые наборы инструментов и знания. HTMX — лучший пример такого подхода из тех, что я видел.
Читать дальше →

Обновление KB5026372 вызывает нарушения в работе сетевых подключений и запускает циклический ребут

Level of difficultyEasy
Reading time2 min
Views9.8K

9 мая 2023 года компания Microsoft выпустила обновление KB5026372, предназначенное для Windows 11. В результате установки данного пакета у большого количества пользователей наблюдаются проблемы в работе VPN-соединений. Плюс ко всему, данное обновление может выполнять активацию защитной опции шифрования диска BitLocker.

В описании релиза сказано, что обновление устраняет проблемы безопасности операционной системы. В частности, оно включает в себя улучшения, которые были частью обновления KB5025305, выпущенного 25 апреля 2023 года.

После его установки пользователи фиксировали серьёзное снижение скорости загрузки и отдачи данных при использовании VPN-соединения. Кроме того, возникали сложности при загрузке файлов при помощи SFTP через L2TP/IPsec VPN. При всём при этом проблему не смогли решить перезапуск рабочей станции, очистка DNS, а также отключение протокола IPv6 и переподключение WAN.
Читать дальше →

Часы электронные самодельные, песочные и нормальные

Level of difficultyMedium
Reading time8 min
Views9.5K

Привет, Хабр! Сегодня мы изучим и соберём олдскульные электронные часы на 12 цифровых микросхемах и светодиодные песочные часы на 3 корпусах без микроконтроллера, а также их микроконтроллерные варианты.
Попутно научимся мультиплексировать светодиоды.

Information

Rating
17-th
Works in
Registered
Activity