Pull to refresh
7
1.6

JavaScript-разработчик

Send message

Красное смещение: доплер-эффект или гравитация?

Level of difficultyEasy
Reading time7 min
Views6.5K

Тема обсуждения

В недавно опубликованном здесь материале о космологической модели Неустойчивой решётки (НР), то есть модели Вселенной без Большого взрыва (БВ), не обсуждались такие доводы в пользу БВ, как космологическое красное смещение, наличие космологического горизонта и реликтового микроволнового излучения, которых в квазистационарной Вселенной быть, казалось бы, не должно. «Старение фотонов», объясняющее красное смещение света и наблюдаемое в некоторых случаях аномальное торможение тел передачей кинетической энергии от тел и фотонов флуктуациям вакуума, подвергается сомнениям после моделирования обстоятельств торможения аппаратов «Пионер», доказывающего тепловую природу торможения [1]. Наконец, и старение фотонов, и гравитационная гипотеза «покраснения» выглядят не совместимыми с динамикой эволюции сверхновых, которая коррелирует с их красным смещением, а в рамках этих двух гипотез, вроде, не должна бы.

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

Рассмотрим гравитационную гипотезу более внимательно.

Читать далее

Kenbak-1: самая первая серийная персоналка

Level of difficultyEasy
Reading time8 min
Views4.7K


Считается, что эпоха персоналок наступила в 1974 году, когда компания MITS наладила массовое производство знаменитого Altair 8800, положившего начало буму «домашних» компьютеров. До этого ЭВМ были слишком громоздкими и чересчур дорогими для простого обывателя. Однако ещё в 1971 году серийно выпускался компьютер, который мог приобрести обычный человек, чтобы изучить азы программирования. Правда, эта машина не имела ни монитора, ни клавиатуры, ни привычного современным пользователям интерфейса — даже командной строки…
Читать дальше →

Пробуем Typst, альтернативу LaTeX

Level of difficultyEasy
Reading time20 min
Views11K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

Те статьи, что уже имеются на Хабре во время написания данной статьи, были, скорее, новостными, чем полноценными обзорами. Мы же попробуем рассмотреть Typst, начиная с установки и заканчивая возможностями и компиляцией, а также разберёмся, какие проблемы могут возникнуть.

Читать далее

Процессор на костях: как изобретатели XIX века пытались превратить счеты в компьютер

Reading time13 min
Views2.8K

Счеты имеют долгую и интересную историю. Их прототип, абак, появился за несколько веков до нашей эры, а конец эпохи счетов пришелся уже на наше время — они массово использовались вплоть до 1970-х годов. Несмотря на такую живучесть, счеты не были лишены недостатков, поэтому многие изобретатели пытались их усовершенствовать. На результаты их попыток посмотрим вместе с Антоном Басовым, исследователем истории науки и техники, автором Центра непрерывного образования факультета компьютерных наук ВШЭ.

Читать далее

Отсутствие в .NET важных тригонометрических функций: заполняем пробелы

Level of difficultyEasy
Reading time4 min
Views4.9K

.NET включает базовые тригонометрические функции (sin, cos, tan, asin, acos, atan) и их гиперболические аналоги (sinh, cosh, tanh, asinh, acosh, atanh) в классе Math. Однако в .NET отсутствуют важные тригонометрические функции, я решил заполнить этот пробел, при реализации этих функций необходимо учитывать особенности вычислений с плавающей запятой, диапазон входных и выходных значений и их свойства симметрии.

Читать далее

Древняя и новая история цистерцианских цифр

Reading time5 min
Views12K

Арабские цифры являются одной из наиболее долгоживущих и универсальных знаковых систем, распространённых во всём современном мире. Они до сих пор сосуществуют с римскими, конкуренцию у которых окончательно выиграли в Европе к XIV веку, поскольку римские цифры исключительно неудобны для арифметики и алгебры. Принципиально арифметика на римских цифрах возможна, она даже была однажды рассмотрена в статье из журнала «Наука и жизнь» за 1970 год. Именно в XIII-XIV веках римские цифры перестали удовлетворять потребностям бурно растущей европейской цивилизации (в римских цифрах даже отсутствовал феномен «0»). Им на смену пришли заимствованные индо-арабские цифры. Также как раз в период XIII-XIV века в Европе пытались изобрести систему цифр, которая либо устраняла бы недостатки римской, либо сочетала достоинства арабской и римской. Один из наиболее причудливых опытов такого рода — это цистерцианские цифры, о которых будет рассказано под катом   

Читать далее

Как я искал (и нашел) разницу в двух побайтово идентичных файлах

Reading time4 min
Views72K
Есть у нас одно .NET-приложение, которое умеет загружать и использовать плагины. Плагины — дело хорошее. Можно функционал расширять, можно оперативненько обновлять их со своего сайта, можно даже юзерам дать SDK и позволить писать свои плагины. Мы всё это и делали. Наши плагины представляли собой обычные .NET-сборки, которые нужно было подкинуть в определённую папку, откуда основное приложения их загружало и использовало. Ну, вы, наверное представляете как — Assembly.Load(), дальше ищем класс, реализующий необходимый интерфейс, создаём объект этого класса и т.д. Всё это работало давно, стабильно и ничто не предвещало беды. Но вдруг в какой-то момент появилась необходимость создать плагин, состоящий из нескольких файлов. В связи с этим было решено считать плагином не просто .NET-сборку (1 файл), а zip-архив, в котором может быть как одна сборка, так и несколько файлов. В связи с этим пришлось научить билд-сервер паковать плагины в архивы, а основное приложение — разархивировать их в нужное место. В общем-то задача на 10 строк кода. Ничто не предвещало беды. И вот скачиваю я с билд-сервера собранный архив с плагином, разархивирую его в нужную папку, запускаю приложение, и… не работает! Стоп, как не работает? Это ведь тот же плагин!

Дальше — больше. Прошу проделать ту же самую процедуру моего коллегу, на его компьютере. Он пробует — и у него всё работает! Но как же так? Одна версия приложения, один и тот же файл с билд-сервера. Какая-то разница в окружении? Сажусь за компьютер коллеги, пробую ещё раз — не работает! Он в этом время пробует на моём — работает! То есть получается, что файл «помнит», кто его разархивировал! Зовём третьего коллегу понаблюдать этот цирк. Последовательно, на одном и том же компьютере, по очереди делаем одни и те же действия: скачиваем архив с плагином, разархивируем в нужную папку, запускаем приложение. Когда это делаю я — программа не видит плагин, когда это делает коллега — всё работает. На третьем круге этих интересных экспериментов вдруг замечаем разницу в действиях: я разархивировал плагин стандартными средствами Windows, а мой коллега — с помощью 7-Zip. И то и другое вызывалось нами из контекстного меню архива, так что разницу в клик по не тому пункту вначале никто не замечал. Ну ок. Получается, файл, извлечённый из zip-архива с помощью 7-zip, отличается от того же файла из того же архива, извлечённого с помощью стандартного архиватора Windows?

Кстати, пока вы не открыли статью под катом, ответьте-ка сами для себя на вопрос, может ли такое быть, что содержимое файлов валидного zip-архива при разархивации 7-zip и через проводник Windows будет разным?
Читать дальше →

Управление напряжением PWM сигналом (PWM+RC=DAC)

Level of difficultyEasy
Reading time8 min
Views11K

В очередной тестировочной электронной плате появилась нужда выставлять напряжения на клеммах.

Существует очень остроумный способ собрать DAC используя PWM сигнал и аналоговый RC фильтр. На выходе будет желаемое напряжение. Причем, уровнем этого напряжения можно управлять цифровым образом из программы в микроконтроллере.

В этом тексте я написал как мне это удалось.

Читать далее

Вертикальные солнечные часы

Level of difficultyEasy
Reading time4 min
Views2.9K

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

Читать далее

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

Level of difficultyMedium
Reading time8 min
Views3.9K

В октябре с мыса Канаверал во Флориде должна стартовать тяжёлая ракета Falcon Heavy с миссией НАСА Europa Clipper. Миссия стоимостью 5 миллиардов долларов призвана выяснить, может ли Европа, четвёртый по величине спутник Юпитера, поддерживать жизнь. Но поскольку Европу постоянно бомбардирует интенсивное излучение, создаваемое магнитным полем Юпитера, космический аппарат «Клипер» не сможет выйти на орбиту самого спутника. Вместо этого он будет двигаться по эксцентрической орбите вокруг Юпитера и собирать данные, неоднократно пролетая мимо Европы — в общей сложности 53 раза, — а затем удаляясь от места наибольшего излучения. Каждый раз, когда космический аппарат будет огибать Юпитер, его траектория будет немного отличаться, что позволит ему делать снимки и собирать данные от полюсов Европы до её экватора.

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

Читать далее

Сложно ли генерировать 1024-битные простые числа?

Level of difficultyEasy
Reading time28 min
Views13K

Простые числа удивительны!

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

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

Вызов

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

Генерировать простые числа, способные генерировать ключи для алгоритма RSA

На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов. Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел. Теперь вы знаете, откуда взялось число из заголовка поста.

Читать далее

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views60K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее

Old-Hard коммуникации, или “передача файлов через COM и LPT-порты”

Reading time4 min
Views38K
Давненько не кидали на старые компьютеры данные через дискеты, COM или LPT порты? А вот мне недавно пришлось этим заняться, и подробности этого опыта – под катом. Там же несколько графиков, табличка сравнения и пара десятков фото под вторым катом.
Читать дальше →

Как студенты Практикума перепроектировали сайт Alfa Digital

Level of difficultyEasy
Reading time8 min
Views2K

Привет! Меня зовут Максим, я продакт и студент курса «Продакт-менеджер». . В этой статье я расскажу о проекте по редизайну карьерного сайта Альфа-Банка — с ним наша команда победила на хакатоне Практикума.

Читать далее

iOmega ZIP. Уже не дискеты, но ещё не HDD

Level of difficultyEasy
Reading time7 min
Views12K
Приветствую всех!

Казалось бы, о накопителях iOmega ZIP не писал только ленивый. Даже здесь, на Хабре было несколько статей, посвящённых этому во всех смыслах неоднозначному формату. Но вот в мои руки тоже попал такой привод, и я подумал: а что бы не затронуть и эту технологию? Тем более, что мне есть, что добавить к предыдущим обзорам.



Итак, в сегодняшней статье поговорим об iOmega ZIP — носителе информации, совмещавшем в себе недостатки как дискет, так и жёстких дисков. Узнаем, как устроены и работают такие устройства и посмотрим, что они могут. Традиционно будет много интересного.
Читать дальше →

Импортозамещение, которое мы потеряли: «Сетунь» — судьба первых серийных троичных компьютеров

Level of difficultyEasy
Reading time16 min
Views25K

Многие знают, что СССР был родиной т. н. «троичных машин», т. е. компьютеров, использующих не двоичную, а троичную систему счисления. Они стали уникальной страницей в истории вычислительной техники. Единственный серийный и самый известный пример троичной ЭВМ — советский компьютер «Сетунь», разработанный в 1958 году под руководством Николая Брусенцова, при активном участии Льва Гутенмахера, Сергея Соболева и Евгения Жоголева.

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

Осторожно лонгрид

Система рендеринга для космического симулятора в Unity

Level of difficultyMedium
Reading time20 min
Views6.4K

Несколько лет назад я работал над проектом по реализации на Unity реалистичного космического симулятора. Это достаточно нестандартное применение движка, и в ходе работы были решены разные специфические задачи, одна из которых - обеспечение корректного рендеринга объектов космических масштабов. Этим опытом я бы хотел поделиться с сообществом.

? Читать далее

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Views29K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →

5 самых странных языков программирования: для чего они нужны и что на них можно написать

Reading time25 min
Views18K

Согласно самым разным источникам, в мире существует от нескольких сотен до нескольких тысяч языков программирования. Правда, ЯП, с которыми реально имеют дело десятки и сотни тысяч человек, немного. Больше, конечно, нишевых языков, применяемых для решения узкого круга задач. Существуют ЯП для обучения разработчиков, а также проекты, созданные исключительно для развлечения. В статье — 5 наиболее странных языков из когда-либо созданных. Brainfuck, кстати, опустим, ведь его на Хабре и так регулярно вспоминают. Что же, поехали.

Читать далее

Обзор схемотехнических решений BMS для литиевых батарей

Level of difficultyEasy
Reading time17 min
Views55K
Давно ушли те времена, когда для контроля за состоянием аккумуляторной батареи было достаточно стрелочного амперметра. Литиевые аккумуляторы вполне заслуженно обрели популярность в современных автономных устройствах. Они обладают достаточно высокими характеристиками при весьма доступной стоимости, но очень капризны в эксплуатации.

image

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

Information

Rating
1,375-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity