Арабские цифры являются одной из наиболее долгоживущих и универсальных знаковых систем, распространённых во всём современном мире. Они до сих пор сосуществуют с римскими, конкуренцию у которых окончательно выиграли в Европе к XIV веку, поскольку римские цифры исключительно неудобны для арифметики и алгебры. Принципиально арифметика на римских цифрах возможна, она даже была однажды рассмотрена в статье из журнала «Наука и жизнь» за 1970 год. Именно в XIII-XIV веках римские цифры перестали удовлетворять потребностям бурно растущей европейской цивилизации (в римских цифрах даже отсутствовал феномен «0»). Им на смену пришли заимствованные индо-арабские цифры. Также как раз в период XIII-XIV века в Европе пытались изобрести систему цифр, которая либо устраняла бы недостатки римской, либо сочетала достоинства арабской и римской. Один из наиболее причудливых опытов такого рода — это цистерцианские цифры, о которых будет рассказано под катом
Overqualified
Почему для меня так важен алгоритм CORDIC
CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin
, cos
, tan
и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Кто реально угрожает C++ (нет, Rust, не ты)
Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.
Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?
Фен и нижний подогрев. Снятие/установка BGA без реболлинга
Приветствую, Хабр!
В статье хочу показать процесс снятия чипов в BGA корпусе и установки на новую плату не перекатывая шарики. Опишу некоторые нюансы, которые позволяют осуществлять данную операцию более или менее безболезненно.
Импульсный (Пере)Магничиватель для неодима
Импульсный (пере-)магничиватель для неодимовых магнитов (из HDD). Много конденсаторов, толстый тиристор, пыщ-пыдыщ, всё как мы любим.
Open Source спутниковая интерферометрия PyGMTSAR (Python InSAR)
С тех пор, как я рассказывал на хабре про мой открытый проект спутниковой интерферометрии PyGMTSAR (Python InSAR библиотека) для обработки и анализа радарных данных спутников Sentinel-1, прошло много времени и сегодня PyGMTSAR представляет собой наиболее мощный инструмент среди всех открытых InSAR. Притом, PyGMTSAR действительно общедоступен, поскольку не требует скачивать огромные данные, устанавливать программное обеспечение и так далее — достаточно просто открыть ссылки на Google Colab в браузере и посмотреть и запустить готовые примеры или адаптировать их для своей территории и области интереса. Предлагаемые Google Colab примеры включают в себя создание отдельных интерферограмм для анализа результатов сейсмических событий (землетрясений) и наводнений, создание рельефа, анализ серий интерферограмм для мониторинга оползней и проседаний грунта. И все эти возможности доступны в один клик онлайн на Google Colab и в Docker контейнерах. Для профессионалов предоставляется полностью программируемая среда для выполнения InSAR задач и интерактивной 3D визуализации, доступная на Google Colab, в Docker контейнерах, на GitHub Action runners, и, конечно, на локальных компьютерах и на облачных хостах.
Основные типы распределений вероятностей в примерах
Статистические исследования и эксперименты являются краеугольным камнем развития любой компании. Особенно это касается интернет-проектов, где учёт количества пользователей в день, времени нахождения на сайте, нажатий на целевые кнопки, покупок товаров является обычным и необходимым явлением. Любые изменения в пользовательском опыте на сайте компании (внешний вид, структура, контент) приводят к изменениям в работе пользователя и, как результат, изменения наблюдаются в собираемых данных. Важным элементом анализа изменений данных и его фундаментом является использование основных типов распределений случайных величин, от понимания которых напрямую зависит качество оценки значимости наблюдаемого изменения. Рассмотрим их подробнее на наглядных примерах.
Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)
На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.
В данной статье представлена не только реализация градиентного бустинга GBM с нуля на Python, но а также довольно подробно описаны ключевые особенности его наиболее популярных модификаций.
Друиды 21-го века или «химичим напиток силы» в домашних условиях
Многие из нас увлекаются спортом, и даже не говоря о профессиональных спортсменах, желание немного улучшить свои результаты – присуще каждому, кто им увлечен. О способах, которые могут в этом помочь, о том как происходит данный процесс в человеческом организме, а так же о том , как самостоятельно , в домашних условиях приготовить спортивное питание, ориентированное именно на ваши потребности, мы и поговорим в этой статье. Те же , кто не увлекаются спортом, то же смогут почерпнуть для себя интересную информацию о том как работает наш организм. Кому интересно , жмите далее!
Импортозамещение, которое мы потеряли (ч.2): АСУ ТП по телеграфному кабелю, нейронные сети и РСУБД в 60-х
Пилотная статья понравилась комьюнити, а значит продолжаем рассказывать о ранних советских разработках, предвосхитивших современные достижения отрасли, а порой, опередивших своё время. Наш рассказ будет не полным без упоминания проектов АН УССР, наиболее важная часть которых была реализована в процессе разработки и использования ЭВМ “Киев”. Под катом речь пойдет о проектах управления технологическими процессами на расстоянии 500 км, разработке и применении прообраза современных реляционных систем управления базами данных, а также первых советских опытах по машинному обучению и созданию искусственного интеллекта в 1950-х - 1960-х.
Импортозамещение, которое мы потеряли: советские языки программирования и их создатели — часть 1 (1950-е — 1960-е)
Продолжаем наш ретроспективный цикл о тех советских разработках, которые стали историей и за которые, как принято говорить — “не стыдно”. В предыдущих постах цикла мы уже затрагивали разработку языков программирования в СССР и в этом посте хотели остановиться на ней подробнее. Несмотря на достаточно скромные достижения в этой области, разработчики языков и трансляторов знали моменты триумфа, а фундаментальный вклад советских ученых в развитие программирования ощутим и сегодня. Под катом немного о языках и трансляторах, разработанных в Стране Советов в 50-е — 60-е годы, а также об их создателях.
Ретро: электромеханический аналоговый компьютер CADC 1955 года
В 1955 году для нужд ВВС США было разработано специальное вычислительное устройство Bendix Central Air Data Computer (далее CADC), которое представляло из себя электромеханический компьютер состоящий из шестерней, кулачков, синхронизаторов и магнитных усилителей. Основным назначением данного устройства, являлось вычисление "воздушных данных", математика уравнений для их вычислений усложнялась при приближении летательного аппарата к скорости звука. После вычислений "воздушных данных", CADC передавал результаты своих расчетов в смежные системы и на приборы индикации в кабине пилота. Вычислитель CADC применялся в различных летательных аппаратах ВВС CША (например, в истребителях F-101 и F-111, в бомбардировщике B-52).
Неполнота и относительность — как Эйнштейн, Гейзенберг, Шрёдингер и Гёдель сокрушили Запад и построили мост на Восток
Европа позднего средневековья была довольно замкнутым культурным пространством. От политеизма, культурного взаимообмена и философской свободы времён греческой и римской античности не осталось и следа. Широко исповедовались только три авраамические религии — повсеместно распространенное христианство, иудаизм в еврейских общинах и ислам в арабской Испании. Философия была строго догматизирована и чётко следовала религиозным канонам. За любые несоответствующие догматам Церкви мысли могло последовать строгое наказание — предание анафеме или даже что похуже. Например, известный нидерландский философ Барух (Бенедикт) Спиноза за свои пантеистические взгляды был изгнан из еврейской общины и подвергнут остракизму, а итальянский мыслитель Джордано Бруно за свою теорию о множественности миров был просто напросто сожжен на костре инквизиции.
Однако с началом европейских колониальных завоеваний, а также наступлением эпохи Просвещения европейская культура начала шаг за шагом открываться новому. Доселе невиданный всплеск случился после вторжения европейских империй в Индию, Китай и Японию — европейцам открылось богатство ведической, буддийской, даосистской и конфуцианской культур. Несмотря на агрессивную миссионерскую деятельность христианских проповедников и распространения культуры Запада в колониях, в изрядно уставшей от христианского догматизма метрополии в моду стала входить культура Востока.
LLaMA (Large Language Model Meta AI)
Meta анонсировала LLaMA (Large Language Model Meta AI), свою модель NLP с миллиардами параметров и обученную на 20 языках.
Недавно её слили на торренты и товарищи смогли запустить сетку локально на обычном домашнем компьютере, на обычном CPU.
Для этого пришлось ужать модель из 32 битной в 4 битную, уменьшив вес модели с 13 до 4 ГБ.
Попробуем запустить самую маленькую модель LLaMA 7B у себя на домашнем компьютере на середнячке AMD Ryzen 5.
10 зрелищных клеточных автоматов с поколениями
На прошлой неделе мы посмотрели на 10 правил простейших клеточных автоматов, где меняли только количество соседей необходимых для рождения и выживания клетки.
Сегодня мы немного дополним характеристики «life‑like» модели и добавим ещё одну часть к правилам — поколения.
На грани отвала eMMC: Устанавливаем Android на SD-карту на любом смартфоне/планшете! Вторая жизнь для дешевых кит. устр
Автокомпозитор мелодий Muzz — Доработка
Прошлая статья о автоматическом композиторе Muzz была написана в 2013 году. Muzz сочинял рандомные мелодии с рандомным типами аккомпанемента под рандомные ритмы рока. И вот осенью 2022 года пришло время для доработки Muzz. Теперь он сочиняет музыку более разнообразно и посовременней. Что было доработано и какие песни теперь сочиняет Muzz - об этом и пойдет речь в этой статье.
Раскрываем секреты загрузочных ISO-образов
В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus
Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.
Information
- Rating
- 3,246-th
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity