Pull to refresh
60
0

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

Send message

«Окей, бумер» — как шутеры в ретро-стилистике потеряли самобытность

Level of difficultyEasy
Reading time8 min
Views15K

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

Как зловредные приложения могут скрывать работу с буфером обмена в Android 14

Level of difficultyMedium
Reading time8 min
Views7.5K

Вы когда-нибудь копировали в буфер обмена уязвимую информацию, например, пароли, номера кредитных карт, сообщения или личные данные? Если да, эти данные могут оставаться в буфере устройства достаточно длительное время. Доверяете ли вы буферу обмена и приложениям, получающим доступ к этим данным? В этой статье мы изучим Android Clipboard Manager и продемонстрируем необходимость более качественной защиты копируемых данных.
Читать дальше →

Управление Linux-сервером — самая ценная инвестиция

Level of difficultyEasy
Reading time6 min
Views80K

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

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

Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си

Level of difficultyHard
Reading time17 min
Views16K

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


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

Электромагнетизм и некоторые интересные явления и процессы

Level of difficultyEasy
Reading time12 min
Views18K
Картинка Freepik

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

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

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 2

Level of difficultyEasy
Reading time6 min
Views16K

На рубеже нулевых и десятых годов в Рунете всё чаще стали появляться образы «ностальгии по несбывшемуся Советскому Союзу». По альтернативным таймлайнам, где СССР не распался в начале 90-х, а продолжил существование и преуспел — или же имел более красивое и позитивное прошлое, нежели в реальности. Чем дальше, тем больше в этих образах было ретрофутуризма и технооптимизма, в то время как воинственность уходила на задний план. Это явление стало частью широкого понятия «советпанка» — его «светлой стороной», хотя была и тёмная. В прошлой части мы рассказали о зарождении неосоветской эстетики, теперь же поговорим о её становлении и бурном развитии в 2010-е — хотя не только.
Читать дальше →

Итальянцы в России и не только. История Olivetti

Level of difficultyEasy
Reading time8 min
Views10K

Если бы у нас была возможность отправиться на машине времени в самое начало 90-х годов и включить телевизор, то мы слегка обалдели бы от транслируемых в эфире рекламных роликов. Реклама водки и сигарет, уникальные креативные приёмы из серии «вам пора, и вам пора с вентиляторным заводом заключать договора», подмигивающий Распутин, Лёня Голубков в неизменной майке-алкоголичке, и, конечно же, маскулинный полисмен, отбирающий у сексуальной блондинки незаконную пачку «Стиморола». Среди всего этого великолепия определённой скромностью и сдержанностью отличалась реклама компьютеров производства итальянской компании Olivetti. Да что там реклама — логотип Olivetti какое-то время украшал циферблат часов, демонстрировавшихся в эфире Первого канала перед программой вечерних новостей. Об истории этого удивительного бренда — наш сегодняшний рассказ.
Читать дальше →

Самые крупные DDoS-атаки нулевого дня на HTTP/2

Level of difficultyEasy
Reading time9 min
Views7.3K

В августе и сентябре злоумышленники развернули крупнейшие распределённые DDoS-атаки в истории интернета, эксплуатирующие известную уязвимость в ключевом техническом протоколе. В отличие от других серьёзных атак нулевого дня последних лет – например, Heartbleed или log4j – которые вызвали хаос повсеместным наплывом эксплойтов, более недавняя их форма, получившая название HTTP/2 Rapid Reset, привлекла пристальное внимание лишь нескольких инженеров.
Читать дальше →

Как начать работать с IPv6 там, где его нет (часть 2)

Level of difficultyMedium
Reading time8 min
Views13K

В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройство IPv4 к брокеру, создав туннель в IPv6.

В первой части цикла статей показана настройка облачного маршрутизатора на routeros. В текущем материале продолжим раскручивать полученное решение, а затем перенесём соединение с брокером на Linux. Но сначала отдельно поговорим о сетевой безопасности подключаемого к IPv6 оборудования. Для понимания происходящих процессов рекомендуется ознакомиться с предыдущей статьёй, так как с целью исключения болтологии вводный материал повторяться не будет.
Читать дальше →

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 1

Level of difficultyEasy
Reading time7 min
Views31K

Выход «Atomic Heart» не просто стал громким событием в истории российского геймдева — он наиболее отчётливо отразил любопытную культурную тенденцию последней дюжины лет. С начала 2010-х футуристические образы и сюжеты в подчёркнуто советском стиле стали всё чаще встречаться в Рунете в самых разных формах. Особенно ярко это стало проявляться ближе к концу десятилетия с массовым распространением музыки в стиле ретровейва — российским ответвлением которого стал стилизованный под мелодии и ритмы советской эстрады Sovietwave. Ну а сейчас советский ретрофутуризм уже можно назвать мейнстримом, даже не особенно прибегая к совам и глобусам. Он выражает ностальгию по положительным чертам и характерным деталям советской эпохи, но с начала 90-х годов эта ностальгия успела сильно измениться. Что же с ней случилось?
Читать дальше →

Недооценённый принцип квантового мира, без которого жизнь была бы невозможной

Level of difficultyMedium
Reading time8 min
Views21K


О каких законах, принципах и свойствах квантового мира обычно вспоминают люди, думая о физике элементарных частиц?

Кто-то, скорее всего, вспомнит принцип неопределённости Гейзенберга. Он гласит, что существует предел точности, с которой можно одновременно знать некоторые пары физических свойств частиц — например, положение и импульс. Другими словами, чем точнее измеряется одно свойство, тем менее точно может быть известно другое.

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

Как эффективно добавлять документацию при разработке продукта?

Level of difficultyEasy
Reading time7 min
Views12K

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

Легендарный Brown Sound на полевых транзисторах

Level of difficultyEasy
Reading time9 min
Views17K

Привет, Хабр! Brown Sound — это специфическое звучание электрогитары, ставшее визитной карточкой Эдди Ван Халена. Повторить уникальный звук великого гитариста пытались и пытаются многие. У каждого получается что-то своё.

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

Как начать работать с IPv6 там, где его нет (часть 3)

Level of difficultyMedium
Reading time11 min
Views7K


В предыдущих частях цикла статей (часть 1, часть 2) мы настроили подключение к IPv6-брокеру на VDS под управлением операционной системы CHR от Mikrotik. Подготовили туннелирование до устройств сети, которые как умеют, так и нет работать с VPN, используя PPTP, SSTP и статическую маршрутизацию. Уделили достаточно внимания обеспечению сетевой безопасности подключаемых к IPv6 пользователей.

Настало время перенести всё на Linux. При этом самая простая задача (конфигурирование клиента для подключения к брокеру) уже выполнена. В завершающей части цикла настроим туннелирование IPv6 до устройств домашней сети посредством старого доброго L2TP, а для работы мобильных устройств дополнительно организуем IKEv2-сервер. Чтобы лучше понимать происходящие процессы, рекомендуется ознакомиться с предыдущими двумя статьями, так как с целью исключения болтологии вводный материал повторяться не будет.
Читать дальше →

Простой ORM для sqlite3

Level of difficultyMedium
Reading time12 min
Views15K

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

Не бывало ли вам интересно, как работает изнутри такая идейно простая концепция? Благодаря чему достигается удобство работы? Сегодня мы напишем ORM самостоятельно и узнаем, какие инструменты python нам для этого понадобятся.
Читать дальше →

Графика древности: легендарный Mode 7

Level of difficultyEasy
Reading time22 min
Views10K

Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали разнообразные способы убедительной имитации трёхмерного изображения в рамках скромных вычислительных ресурсов. Изометрический движок Filmation и силуэтная графика в Tau Ceti на ZX Spectrum, технология масштабирования спрайтов Super Scaler компании Sega, рейкастинг в Wolfenstein 3D, BSP-дерево в Doom, воксельный ландшафт в игре Comanche — эти времена породили множество любопытнейших технологий, каждая из которых достойна отдельного рассказа.

В до сих пор звучащих отголосках так называемых консольных войн той эпохи (что круче — Sega Genesis или Super Nintendo?) часто можно услышать ещё одно название, которым уместно дополнить список выше — Mode 7. Мы не знаем, что это такое, если бы мы знали, что это такое, но обычно под этим подразумевается какое-то вращение или масштабирование объектов в играх, или же уходящая вдаль дорога, как в гоночных играх F-Zero и Super Mario Kart, или же карта мира, как во многих играх жанра JRPG. В реальности всё интереснее, сложнее, и как водится, требовало от разработчиков недюжинной креативности. Сегодня поговорим об этой технологии.
Читать дальше →

Роль личности в науке: нашли бы мы теорию относительности без Эйнштейна?

Level of difficultyEasy
Reading time8 min
Views10K

Законы механики и всемирного тяготения Ньютона прекрасно описывают практически все земные явления, а также движения Луны и планет. В этом смысле Ньютон обеспечил прекрасный синтез двух ранее различных наборов явлений: земных и небесных. Однако, как и в случае со всеми теориями, сочетание экспериментальных результатов и концептуальных рассуждений в конечном итоге заставило отойти от теории тяготения Ньютона и заменить её общей теорией относительности (ОТО) Эйнштейна.

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

Умные программисты пишут STUPID-код

Level of difficultyEasy
Reading time9 min
Views54K
Умные программисты пишут STUPID-код, ведь они понимают, что неожиданно возникшая сложность может привести к провалу проекта.


▍ Страдание


На момент написания этой статьи на моих часах 21:30.

Этим утром я проснулся в хорошем, оптимистичном настроении, рассчитывая на прекрасный день, но теперь вымотан.

Я вымотан не физически, а, скорее, разочарован тем, что, несмотря на все имеющиеся у нас замечательные технологии, позволяющие писать наилучшее ПО, мы, как люди, профессионально пишущие код, по множеству причин склонны ценить больше сложность, а не простоту.
Читать дальше →

Старые кодовые базы как классическая литература

Level of difficultyEasy
Reading time6 min
Views9.6K

Сохранившиеся фрагменты греческих папирусов, источник

В языке и литературе работает известный принцип начитанности: чем больше человек читает хороших книг, тем больше у него словарный запас, шире кругозор. Развивается понятийный аппарат, сама собой улучшается грамотность без всяких учебников.

Применим ли этот принцип в обучении программированию?
Читать дальше →

Возможные векторы кибератак на новые французские цифровые удостоверения личности

Level of difficultyHard
Reading time12 min
Views9.9K
Больше года назад меня пригласили в закрытую программу баг-баунти с необычной мишенью для исследования: France Identité — новым французским цифровым ID. Сама по себе программа меня разочаровала, я бы сказал, что, вероятно, она не стоила моих усилий; впрочем, мне выплатили награду за несколько отчётов. С другой стороны, тема была для меня очень интересной, а техническая часть в конечном итоге сгладила негативные аспекты.

Для изучения предпродакшен-версии использовалась методика «чёрного ящика». Я получил «образец» французской ID-карты (carte d'identité), которая, естественно, не была связана с реальным гражданином. Однако я не получил PIN, поэтому не мог полностью изучить всю функциональность, реализованную в системе France Identité.

Ниже я расскажу о том, что обнаружил.

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

Information

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