Search
Write a publication
Pull to refresh
7
0

User

Send message

Планковские единицы: существует ли фундаментальный предел пространства и времени?

Reading time10 min
Views51K

По поводу планковского масштаба в научно-популярных материалах творится большая путаница. Здесь сказывается основная проблема поп-физики: гуляя от дилетанта к дилетанту, суть вопроса деградирует с каждой итерацией. Выглядит это примерно так:

  • Учёный в интервью оговаривается, что «длина Планка — это минимальное значимое расстояние», что является сильным упрощением.
  • Журналисты и популисты передают фразу дальше, пока она не деформируется в «длина Планка — это как размер пикселя для Вселенной», что неверно.
  • Учёные замечают ошибку и начинают поправлять, чтобы устранить недоразумение: «Планковская длина не похожа на размер пикселя для Вселенной. Это как раз тот масштаб, где квантовая гравитация становится актуальной». Что, безусловно, правильно, но…
  • Научпоп пережёвывает это, пока понятие не трансформируется в «планковская длина никогда не была минимальным расстоянием, это заблуждение. Это просто масштаб, на котором наши нынешние теории разрушаются, и ничто не указывает на то, что мы не можем достичь меньших масштабов». Это звучит разумно, но неверно.

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

Домашняя Звезда Смерти — это возможно

Reading time12 min
Views33K
И снова здравствуйте. Честно говоря, я планировал писать эту статью в самую последнюю очередь, планируя сначала рассказать о более «приземленных» вещах, тянул время. Но вот наступил критический момент, когда тянуть уже дальше некуда.

Бывало, задавали вопросы, а можно ли построить самостоятельно Звезду Смерти в домашних условиях, обладая знаниями лазерной техники. При всей абсурдности и глупости этого вопроса ответ на самом деле – «можно». По крайней мере, действующий макет в уменьшенном масштабе. Который даже стрелять лазерным излучением будет.

image

Linux выживальщика

Reading time9 min
Views77K

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

Если вдруг вас позовут в срочную миссию на Марс. Или в длительную IT-робинзонаду на таинственный остров, куда каждому участнику можно взять на флешке только что-то одно из софта. Или вообще никуда не позовут, а просто заботливо и скрепно-надзорно будут пытаться обрубить все неуставные каналы связи с внешним миром.

Читать далее

Подготовка к шатдауну. Как общаться после отключения интернета

Reading time3 min
Views275K


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

Например, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов, в том числе 17 национальных, 26 региональных и 6 частичных (ограничения отдельных сервисов).

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

Изучаем отладчик, часть третья

Reading time22 min
Views29K
Что такое отладчик, как им пользоваться и как он реализован, после прочтение первой и второй части статьи, вы знаете. В заключительной части статьи попробуем рассмотреть некоторые методы борьбы с отладчиком, на основе знаний о принципах его работы. Я не буду давать шаблонный набор антиотладочных приемов, благо при желании все это можно найти на просторах интернета, попробую это сделать немного другим способом, на основе некоего абстрактного приложения, у которого буду расширять код защиты от самой простейшей схемы до… пока не надоест :)

Сразу-же оговорюсь, в противостоянии приложение/отладчик, всегда победит последний :)
Но, только в том случае, если им будет пользоваться грамотный специалист, а с такими спецами бороться практически бесполезно (ну, если вы конечно не обладаете как минимум такой же квалификацией).

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

Вот что-то такое мы и рассмотрим, только в очень упрощенной форме.
Читать дальше →

Изучаем отладчик, часть вторая

Reading time45 min
Views24K
В первой части статьи были рассмотрены некоторые нюансы работы с интегрированным отладчиком Delphi — не все конечно, но наиболее необходимые разработчику. Теперь задача выглядит несколько иначе: рассмотрим его работу изнутри на примере его исходного кода. Для того чтобы не сильно утомлять вас описанием API функций и не разжевывать все этапы отладки, описывать его работу я буду на примере класса TFWDebugerCore. Часть не особо важных моментов я опущу, при желании вы их сможете уточнить просмотрев код данного класса.

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

Если же вы ранее никогда не сталкивались с самостоятельной реализацией отладчика, но заинтересованы в ней, то как минимум вы должны начать с данной ссылки: Debugging and Error Handling
По ней вы сможете узнать об основных аспектах отладки, как-то структурной обработке исключений, работой с отладочной информацией, минидампами. Работой с образом исполняемого файла, заголовками, секциями, картой памяти процесса, что такое RVA и VA и прочее-прочее.
Но это только если захотите разобраться во всей этой кухне.

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

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

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

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

Изучаем отладчик, часть первая

Reading time24 min
Views160K
Я думаю, вы знаете, что взлом программного обеспечения производится не какими-то мистическими «хакерами» – его осуществляют такие же программисты, как и большинство читающих данную статью. При этом они пользуются тем же инструментарием что и сами разработчики ПО. Конечно, с оговорками, поскольку по большей части инструментарий достаточно специфичен, но, так или иначе, при анализе ПО используется отладчик.

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

Поэтому в данной статье будет рассмотрен один из базовых инструментов программиста – отладчик.
Цели статьи: рассмотреть основные методы работы с отладчиком, показать его расширенные и редко используемые возможности, дать понимание работы механизмов отладчика на примерах и рассмотреть некоторый набор методов противодействия.

Объем статьи получился неожиданно большим, поэтому я разбил ее на три части:

  • В первой части будут рассмотрены возможности интегрированного в IDE Delphi отладчика, даны рекомендации по наиболее оптимальному его использованию и общие советы по конфигурации среды. Материал данного раздела предназначен как начинающим разработчикам, так и более подготовленным специалистам.
  • Во второй части статьи будет рассмотрена изнаночная сторона работы отладчика на примере его исходного кода, подробно рассмотрены механизмы, используемые им при отладке приложения, показаны варианты модификаций памяти приложения, производимые отладчиком во время работы.
  • В третьей части статьи будет рассмотрено практическое использование отладчика на примере обхода защиты приложения, использующего некоторый набор антиотладочных трюков.

Собственно, приступим.
Читать дальше →

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views171K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее

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

Reading time8 min
Views9.7K


Всем привет!


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


Статьи цикла:
1) Постановка задачи автоматического реферирования и методы без учителя ⬅️
2) Извлекающие методы автоматического реферирования
3) Секреты генерирующего реферирования текстов


Это первая статья цикла, посвящённая самой задаче и методам без учителя, которым не нужен эталонный корпус рефератов: методу Луна, TextRank, LexRank, LSA и MMR.

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

Алексей Савватеев: «Ниндзи и Математики»

Reading time12 min
Views12K
Привет, Хабр.

В этом году я обнаружила, что не усвоила даже школьный курс математики. Я хочу наверстать упущенное, даже завела канал Math's Not Dead в телеграме. Там я буду делиться интересными, полезными и вдохновляющими штуками про математику, которые найду.

Впервые попробовала в себя в роли оператора и видеомонтажера, ниже расшифровка подкаста про математику с MagisterLudi и Алексеем Савватеевым.


MagisterLudi: Савватеева знаю с 2016 года, пару раз в год пересекались в детских программистских лагерях. Вот у меня накопились вопросы к этому удивительному человеку. Это мой первый подкаст в жизни, а еще за день до этого я всверлил себе три импланта, поэтому я немного помятый.

Мы обсудили:

  • ниндзи
  • святой дух
  • футбол
  • что такое доказательство
  • что такое наука
  • теория игр — самый мощный прикладной инструмент
  • Сатоси Накомото
  • Москва — самый математический город мира

— Что для вас математика и как вы ее определяете?

MagisterLudi: Немного контекста, я был в школьном лагере и очень расстроил одну девочку, когда доказал ей, что математика не наука.

Савватеев: Ты исходил из определения научного подхода. Ты дал некоторое определение, после чего доказал, что в соответствии с ним что-то верно. Ровно так поступил Вассерман в своем знаменитом ролике. Он дал свое определение Бога и доказал, что Бог в соответсвии с его определением отсутствует. 

«Лучшая задача по математике для школьников, которую я встречал в своей жизни» (Алексей Савватеев)

Reading time1 min
Views26K
image

Дано: Есть игрушечная кольцевая железная дорога, состоящая из 13 одинаковых элементов.

Вопрос: какое минимальное количество таких элементов надо докупить, чтобы построить более длинную замкнутую, без пересечений, дорогу?

подсказка
Решение надо искать на комплексной плоскости.

еще подсказка
image

Корень 13 степени.


Решение и ответ под катом.
Читать дальше →

Инопланетная математика

Reading time7 min
Views55K

В «The Beginning of Infinity«* Дэвид Дойч утверждает, что человеческий мозг — это так называемый универсальный объяснитель. В этом утверждении заключено много различных смыслов, но основная идея состоит в том, что за пределами субъективного человеческого опыта существует объективная физическая реальность, которая подвластна законам природы, и человеческий мозг, благодаря эволюции, способен выявлять и определять любые законы природы (следовательно, универсальность) посредством формирования физических теорий, выраженных на языке математики и подтвержденных или опровергнутых с помощью эмпирических измерений.

Утверждение Дойча лежит на пересечении многих философских вопросов, и многое из того, что он говорит, является скорее тезисом, чем синтезом (или объяснением, как он это называет). (прим. в данном контексте тезис и синтез является отсылкой к триаде Гегеля) Дойч стремительно защищает универсальность объяснительной способности человека, в том числе отрицая утверждение Докинза о том, что давление естественного отбора ограничивает способность к объяснению.
Читать дальше →

WD-40: средство, которое может почти всё

Reading time8 min
Views61K

Если провести эксперимент и попросить аудиторию Хабра опознать сине-жёлтый баллончик с красной крышечкой, то 90% ответят правильно — это WD-40. Узнаваемость средства объясняется просто — его используют повсеместно, «вэдэшкой» разве что голову не моют и пельмени не заправляют. Сегодня хочу рассказать вам о смазке, ставшей популярной во всём мире. А в конце статьи — маленький опрос.

Читать далее

Как научиться писать статьи (для Хабра и не только)

Reading time14 min
Views33K

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

Что может быть проще! Берёшь бумагу и ручку, или пишущую машинку, или что там у вас нынче в моде, и пишешь статью.

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

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

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

Ректальное программирование: основы для практикующих 1С-программистов

Reading time9 min
Views53K

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

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

Читать далее

Как мы учили машину распознавать посты противников вакцинации

Reading time9 min
Views8K

В Тинькофф—журнале вышла статья «Что и зачем пишут в интернете противники вакцинации», в которой мы рассказали о результатах исследования почти трёх миллионов постов и комментариев из ВКонтакте на тему вакцинации. Самая сложная часть работы — определить, как авторы сообщений относятся к прививкам. В этой статье мы хотим рассказать о том, как мы это делали.

Читать далее

[Пятничное] Теория Жоп

Reading time5 min
Views242K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее

Как отличить начинающего профессионала от умудренного хоббиста в цифровой схемотехнике?

Reading time7 min
Views13K

В чем главное отличие между FPGA-хоббистом, ностальгирующим по КР580ИК80 на пенсии - и начинающим микроархитектором, ориентированным на будущее трудоустройство в передовую процессорную компанию или сфинансированный венчурными капиталистами стартап?

Три слова: понимание концепции конвейера. Молодым профессионалом, не старым хоббистом.

Это наглядно видно, если вы погуглите тексты про FPGA для начинающих. Если текст пишет программист, которому захотелось потрогать FPGA чисто для разнообразия, он как правило до конвейера не доходит. Помигает лампочками, поговорит про конечные автоматы и может начнет встраивать какую-нибудь FPGA-реализацию старого 8-битного процессора.

(Некоторые из таких людей даже пишут книги - вот некий Роберт Дунне реализовал процессор конечным автоматом с состояниями fetch/decode/execute, но до конвейера не дожал)

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

Но это надо преодолеть, поскольку если вы прийдете интервьироваться в какой-нибудь AMD на позицию юного проектировщика, вас будут спрашивать не как помигать лампочками и засунуть Радио РК-86 в Xilinx, а как стоя перед интервьирующим написать на доске на языке описания аппаратуры Verilog - конвейерную реализацию какого-нибудь умножения со сложением. Или сделать это на компьютере отрезанном от интернета, так что вы даже не cможете нагуглить решение - вот садисты, а?

Именно этому вопросу будет посвящено следующее занятие Сколковской Школы Синтеза Цифровых Схем.

Объяснение концепции конвеера военкоматом

19 американизмов, которые жутко бесят британцев

Reading time8 min
Views43K

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

В Британии и США говорят практически на разных языках. Доходит до того, что некоторые фразы американского английского доводят большинство британцев до белого каления. Мы собрали некоторые из этих фраз здесь. Когда будете в Британии, постарайтесь их не использовать. 

Читать далее

Ложные друзья переводчика: 15 английских слов и фраз, которые не нужно переводить буквально

Reading time9 min
Views61K

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

Словарный запас еще небольшой, а тут встречается слово, которое сильно похоже на знакомое. К примеру, accurate. Человек сразу думает, что это «аккуратный». Ведь не может же настолько похожее слово означать что-то иное.

Увы, может. Accurate — это «точный». Поначалу это взрывает мозг, появляется чувство диссонанса, потому что ну какого черта! А потом остается только смириться и изучать ложных друзей переводчика. Расскажем о тех словах, в которых студенты с уровнем Pre-Intermediate и Intermediate допускают ошибки чаще всего.

Читать далее

Information

Rating
Does not participate
Registered
Activity