Pull to refresh
40
0
sysprg @sysprg

User

Send message

Австралия, Лорд-Хау — самый странный часовой пояс

Level of difficultyMedium
Reading time14 min
Views14K

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

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

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

Фальшивые… резисторы

Level of difficultyEasy
Reading time6 min
Views52K

Эта заметка — небольшая лабораторная работа по измерению «тонких» параметров самых обычных синих металлопленочных резисторов с разбросом в 1% типа MF-25. Особенностью этих резисторов является то, что они — подделка из Китая. К сожалению, сейчас эта поддельная «металлопленка» продается повсеместно, так что если не в ближайшем радиомагазине, так на маркетплейсах вы скорее всего купите именно ее. Наверняка для многих это уже не тайна, но многие до сих пор пребывают в блаженном неведении, думая, что «все детали делают в Китае и разливают из одной бочки».

Читать далее

Полиномиальный алгоритм проверки чисел на простоту: тест Агравала-Каяла-Саксены

Level of difficultyHard
Reading time4 min
Views6.1K

Хотя алгоритмы определения простоты числа известны с древних времён, полиномиального алгоритма долгое время известно не было. То есть было неизвестно, принадлежит ли эта задача классу сложности P. В 2002 году индийскими математиками Агравалом, Кайялом и Саксеной был впервые предложен полиномиальный алгоритм проверки простоты чисел, поставивший точку в этом вопросе.

Читать далее

Синтез Цифрового БИХ Фильтра Низких Частот

Level of difficultyEasy
Reading time5 min
Views4.3K

Мне потребовалось синтезировать быстрый цифровой фильтр нижних частот. Причем этот фильтр должен работать в реальном времени на микроконтроллере. Тут я понял, что надо вспоминать с какой стороны следует подходить к цифровым IIR фильтрам.

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

Далее я покажу некоторые приёмы расчета IIR фильтра по известным коэффициентам.

Читать далее

22 омерзительные опечатки в русском переводе книги М.П. Дайзенрот «Математика в машинном обучении»

Reading time4 min
Views22K

Возможно, это спасёт кого-то от суицида. Её подзаголовок обещал мне ровно то, что я тогда искал: «математические основы базовых концепций машинного обучения...».

На выбор имелось два варианта книги:

- бесплатная версия на английском

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

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

Но…

Что "Но"?

Путь астрофотографа, часть 2: красим туманности и практикуем астропейзажи

Level of difficultyEasy
Reading time8 min
Views4.2K

Снова привет, Хабр! Меня зовут Евгений Сергеев, я работаю инженером-программистом в АСКОН, а в свободное время увлекаюсь астрофотографией. В предыдущем посте я уже рассказывал о первых шагах в этом хобби и доступной аппаратуре, а теперь расскажу подробнее о недавней поездке и поделюсь советами с новичками.

Читать далее

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

Level of difficultyEasy
Reading time9 min
Views39K

Однажды ночью в 11:30 в мае 2024 года аспирант Чуанкун Чжан увидел сигнал, который физики искали 50 лет. Когда на мониторе в исследовательском институте JILA в Боулдере, штат Колорадо, появился пик, Чжан скинул скриншот в групповой чат трём своим товарищам по лаборатории. Один за другим они вскакивали с постели и присоединялись к беседе. После нескольких проверок, чтобы убедиться в реальности того, на что они смотрят, — сигнала от ядра тория-229, переключающегося между двумя состояниями, известного как переход «ядерных часов», — молодые исследователи сделали селфи на память о моменте. Метка времени: 3:42 утра.

На еженедельной встрече с руководителем группы Чжун Йе , создателем самых точных в мире атомных часов, они решили вести себя спокойно. «Они все были с покерфейсом», — говорит Йе, пока Чжан не показал слайд с изображением долгожданного пика. Слёзы залили глаза Йе, когда в 9:30 утра группа подняла бокалы с шампанским.

Читать далее

Самые быстрые мьютексы

Level of difficultyEasy
Reading time8 min
Views8K

Cosmopolitan Libc хорошо известна своим «полиглотным жирным бинарным» хаком, который позволяем исполняемым файлам запускаться на шести операционных системах для AMD64/ARM64. Вас может удивить, что при этом она может быть лучше С‑библиотекой для вашего продакшена. Чтобы продемонстрировать это, давайте сравним библиотеку мьютексов Cosmo с другими платформами.

Мы напишем простой тест, который создает 30 потоков, увеличивающих одно и то же число 100 000 раз. Это поможет проверить, насколько хорошо реализация мьютексов справляется с задачей при интенсивном использовании.

Читать далее

Как доказать теорию относительности Эйнштейна за 10 000 рублей

Level of difficultyMedium
Reading time11 min
Views18K

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

По всей Вселенной, от звёзд, чёрных дыр, галактик и т. д. испускаются космические лучи — частицы, несущиеся через Вселенную с высокими энергиями. Они попадают в атмосферу Земли и вызывают ливни как стабильных, так и нестабильных частиц. Те из них, которые живут достаточно долго, прежде чем распасться, в конечном итоге попадают на поверхность Земли. Каждую секунду через ваше тело проходит от 10 до 100 мюонов — нестабильных, тяжёлых кузенов электрона. При среднем времени жизни в 2,2 микросекунды можно подумать, что они не могли бы пройти всю толщину атмосферы, ~100 с лишним километров, от космоса до вашей руки. Тем не менее, теория относительности утверждает, что это происходит, и тот факт, что эти мюоны проходят через ваше тело, более чем достаточен для доказательства её правоты.

Читать далее

Как на фабриках полупроводников вычисляют выход годных кристаллов

Reading time8 min
Views14K

В Intel отказались от выпуска микросхем на базе узла 20A, решив перейти сразу к 18А.

И было очень много разговоров на тему, почему компания так поступила. Некоторые говорят, что Intel для исправления проблем с 18A требуется весь инженерный ресурс. Другие считают, что этот ход фактически сэкономит компании деньги, которые она сможет вложить в разработку узла 14А.
Читать дальше →

Как сгенерировать порождающие полиномы для конечных полей

Level of difficultyEasy
Reading time12 min
Views4K

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

Читать далее

Доктора Кнут, Моррис и Пратт, или Как я перестал бояться и полюбил префикс-функцию

Level of difficultyMedium
Reading time9 min
Views16K

Если вы не знаете, что такое префикс-функция строки, не знаете, как она вычисляется, или, что самое главное, не до конца понимаете, почему алгоритм вычисления префикс-функции работает за линейное время, то эта статья для вас.

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

Читать далее

Как делать чистые градиенты

Level of difficultyEasy
Reading time3 min
Views11K

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

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

Читать далее

Астрофотография: от советского объектива до автоматизированного управления телескопом

Level of difficultyEasy
Reading time9 min
Views9.2K

Привет, Хабр! Меня зовут Евгений Сергеев, я работаю инженером-программистом в АСКОН, а в свободное время увлекаюсь астрофотографией. Именно ей будет посвящена статья. Я не буду затрагивать слишком много технических деталей, поскольку невозможно все охватить в рамках одного материала. Тем более, что на Хабре есть и другие статьи об астрофотографии. Я расскажу о своем опыте: как познакомился с этим увлекательным хобби и как можно начать самому без траты целого состояния.

Читать далее

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

Level of difficultyHard
Reading time21 min
Views5.4K

Начну с громкого заявления: я придумал способ найти точку пересечения двух отрезков, заданных координатами концов. Придумал давно, лет 7 назад, в 2017 году, примерно, да, путь к этой публикации был долог, в основном из-за лени.

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

Да что там сложного?!

Размерность Минковского и Two Nearest Neighbours (TwoNN)

Level of difficultyHard
Reading time7 min
Views6K

В этой статье я кратко изложу абстрактную идею того, что такое внутренняя размерность геометрической фигуры, попутно введя один из вариантов размерности Минковского, а затем расскажу про другой, приблизительный способ оценки внутренней размерности, который применим к реальным (то есть, конечным) облакам точек и называется Two Nearest Neighbours (TwoNN). В конце статьи для интересующихся будут оставлены ссылки на несколько научных статей, в которых второй способ используется для анализов эмбеддингов нейросетей.

Итак, давайте разбираться!

Читать далее

Удивительная история развития сортировки в JDK

Level of difficultyMedium
Reading time11 min
Views7.3K

Как вы считаете, если выполнить java.util.Arrays.sort(), то какая сортировка будет вызвана? Quicksort? Timsort? И та, и другая, потому что для объектов вызывается Timsort, а для примитивов (чисел int, long, float и так далее) — Dual-Pivot Quicksort. В JDK 6 для объектов использовался стандартный Merge sort, а для чисел классическая реализация Quicksort с одним опорным элементом, предложенная Джоном Бентли и Дугласом МакИлрой. В JDK 7 оба алгоритма поменялись: теперь объекты сортируются с помощью Timsort, автор Тим Петерс, а для простых типов данных используется Dual-Pivot Quicksort, предложенный мною вместе с Джоном Бентли и Джошем Блоком в 2009 году. Эта сортировка используется более 15 лет не только в JDK, но и в Android (хотя и немного устаревшая версия).

А зачем нам вообще второй алгоритм сортировки, если есть Timsort? Почему не использовать один и для объектов, и для примитивов? Сегодня я, как автор, расскажу историю Dual-Pivot Quicksort: как он начинался, как развивался и как продолжает развиваться сейчас.

Читать далее

Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона

Level of difficultyMedium
Reading time9 min
Views14K


Все мы в школе проходили деление «столбиком» — простой алгоритм, который несложно реализовать, вот только не очень быстрый. В прошлый раз мы рассматривали, как компилятор оптимизирует деление в случаях, когда делитель известен во время компиляции, но применение его напрямую, чтоб оптимизировать деление для делителей, определямых в run-time, невозможно: вычисление констант сдвига и умножения само по себе требует деления.

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

Особенности движения Земли и Луны

Reading time2 min
Views7.6K

Видео показывает движение центра масс системы Земля–Луна вокруг Солнца и вращение Земли и Луны относительно него. Также наглядно показано явление прецессии лунной орбиты.

Смотреть видео

Симуляция ткани методом Стёрмера — Верле

Level of difficultyEasy
Reading time6 min
Views2.5K

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

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

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

Читать далее

Information

Rating
Does not participate
Date of birth
Registered
Activity