Search
Write a publication
Pull to refresh
4
0

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

Send message

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

Reading time19 min
Views73K

В 2010 году некий Кристофер Хейвенс (Christopher Havens) был приговорен к 25 годам тюремного заключения за убийство. В 2020 году его работа по теории чисел была опубликована в научном журнале. Все стены камеры, в которой Кристофер Хейвенс отбывает срок, испещрены бумажными листками с формулами.

Бумажные листы, исписанные числами и греческими символами, уже не помещаются на небольшом столике и теперь, как пёстрые обои, развешаны по всем стенам камеры размером 2.4x3.7 метров. В процессе поиска решений он мог записывать на стенах уравнения непрерывных дробей длиной до 4.5 метров. Это его история.

Приятного чтения!

10 лучших игр по программированию, которые улучшат ваши навыки

Reading time7 min
Views109K

Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.

Start game

Удивительная математика внутри кубика Рубика

Reading time9 min
Views37K

В прошлом году исполнилось 40 лет с того времени, как человечество узнало о кубике Рубика. Эта головоломка сразу смутила умы почти полумиллиарда энтузиастов, которые полагали, что могут раскрыть сумасшедшие секреты этого удивительного кубика, если разберут его на составные части.

В преддверии юбилея кубика Рубика (да, юбилея!) и стартов новых потоков курсов Математика для Data Science и его расширенной версии Математика и Machine Learning для Data Science, пришло время раз и навсегда разгадать эту головоломку, на этот раз с помощью довольно сложной математики. Физические внутренности кубика могут быть изготовлены из пластика, но его виртуальными внутренностями, конечно же, являются числа. Давайте же окунёмся в этот мир чисел.

Собирайте с удовольствием!

Шахматные алгоритмы, которые думают почти так же, как человек, только лучше

Reading time6 min
Views43K

Когда создавались первые вычислительные машины, их воспринимали только как дополнение к человеческому разуму. И до недавнего времени так и было. Программисты учили компьютеры играть в шахматы с 1960-х годов. И тогда победа у игрока-новичка уже считалась большим прогрессом. О серьёзных матчах даже не задумывались.

В 1980-х программа Belle достигла рейтинга Эло в 2250 пунктов, что примерно соответствует рейтингу мастера спорта. И с того времени развитие компьютерных шахмат вышло на совершенно новый уровень. 

Сначала честь человечества не смог защитить Гарри Каспаров в 1996 году, а сегодня уже создана нейросеть с рейтингом около 5000 Эло, что в разы превосходит даже сильнейших игроков.

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

Приятного чтения

Математики воскресили 13-ю проблему Гильберта

Reading time9 min
Views17K

Вопрос Давида Гильберта о многочленах седьмой степени, долгое время считавшийся решённым, открыл исследователям новую сеть математических связей




Успех в математике достигается редко. Спросите хотя бы Бенсона Фарба.

«Проблема математики в том, что в 90% случаев вас ждёт неудача, и вам нужно быть человеком, умеющим это принимать», — сказал однажды Фарб за ужином с друзьями. Когда один из гостей, также математик, удивился тому, что Фарбу удаётся достигать успеха в целых 10% случаев, Фарб признал: «Нет, нет, я сильно преувеличил процент своих успехов».

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

Умный print для C

Reading time3 min
Views20K

Для тех кто пишет на С, возможно, будет интересно как мне удалось создать умную функцию print(), в которую можно кидать переменные любого типа — дженерик print.

show me the code

Что такое Жизнь во Вселенной: четыре базовых принципа вместо трёх характерных функций

Reading time29 min
Views21K

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

(Является переводом довольно любопытной научной статьи от 16 апреля 2020 года).

Читать далее

Юноше, обдумывающему электронику. Ключи к материалу для самостоятельного изучения

Reading time6 min
Views21K
Перевод учебника «Искусство схемотехники» пополнился Частью 3, в которой разбираются полевые транзисторы. Книга приобрела целостный, хотя всё ещё не окончательный, вид. На данный момент отсутствуют три части — 11 («Программируемая логика»), 14 («Компьютеры, контроллеры и шины данных»), 15 («Микроконтроллеры») — и таблицы. Таблицы отложены до завершения перевода (там почти одни цифры, с которыми можно ознакомиться и в оригинале), а остающиеся темы при всём уважении к авторам лучше изучать по другим источникам. В анонсе перевода среди жалоб на несовершенство мира была высказана мысль о необходимости грамотного руководства освоением нового материала. Здесь предлагается метод изучения, рационализирующий данный процесс и некоторые соображения о повышении КПД знаний, относящиеся к системе Цеттелкастен.
Читать дальше →

«Клинит» кисть и стреляет в руку у программистов — почему? Что с этим делать?

Reading time7 min
Views19K

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

Как мы изучали вопрос и что делали?

Новый CuBox-M: умещающийся на ладони мини-ПК c Linux или Android

Reading time2 min
Views20K

Давно уже на Хабре не было новостей про неттопы от SolidRun, которые выпускаются под брендом CuBox. На этот раз компания выпустила нового малютку, который получил название CuBox-M. Он оснащен ARM-процессором, который заточен под Linux и Android.

Его размер составляет всего 5 x 5 x 5 см. В качестве ОС используется либо Linux, либо Android. На данный момент ПК поддерживает Android 10, под него есть специализированные сборки Debian и Yocto Project.
Читать дальше →

C и C++: межъязыковые интерфейсы

Reading time11 min
Views16K
Как известно, C и C++ — это родственные языки между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому мешает множество больших и маленьких различий между языками. Причём, речь идёт не только о синтаксических различиях. Некоторые общие синтаксические конструкции могут иметь разную семантику. Поэтому обычно нет никакого смысла в том, чтобы компилировать код, написанный на C, с помощью C++-компилятора. Не стоит доверять тем, кто утверждает обратное.

Правда, есть одна сфера, где обычно наблюдается согласие между C и C++. Это — ABI (Application Binary Interface, двоичный интерфейс приложений). Структуры данных и функции одного языка могут быть, в той или иной мере, использованы в другом языке. C и C++, кроме того, достаточно сильно пересекаются в области спецификаций интерфейсов, вследствие чего один и тот же заголовочный файл можно использовать из кода, написанного на обоих языках.



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

Rust Foundation

Reading time5 min
Views11K


Сегодня от имени команды Rust Core я рада объявить о Rust Foundation — новой независимой некоммерческой организации, управляющей языком программирования Rust и его экосистемой, которая исключительно ориентирована на поддержку всех сопроводителей — тех, кто создаёт проекты и управляет ими. Первое совещание Rust Foundation состоится завтра, 9 февраля, в 16:00 СТ (22:00 UTC+3). Совет директоров состоит из 5 директоров из компаний-учредителей: AWS, Huawei, Google, Microsoft и Mozilla, и 5 директоров из управления проектом. Двое из них — представители Core Team (Основной команды), трое — разных частей проекта: Reliability (Надёжности), Quality (Качества) и Collaboration (Взаимодействия).

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

Пока в мире гремел сериал «Ход королевы», мы пилили сервис, чтобы дети учились шахматам на удобной платформе

Reading time9 min
Views22K

Мой дед неплохо играл в шахматы. Буквально сутками просиживал за доской. В детстве я часто приезжал к нему — так постепенно и полюбил игру. 

В институте шахматы забылись: карьера-учеба, вот это все. А потом я увлекся снова. Стал ходить в шахматный клуб на Полянке. Играл с дедами — и постоянно им проигрывал, так как плохо знал теорию. Стал проходить курсы, изучать дебютную подготовку. Начал кого-то обыгрывать. И это дико мотивировало.

И вот что из этого вышло

Как написать игру на C++

Reading time20 min
Views144K

С минимальным знанием языка.

С полной свободой самовыражения.

Без готовых движков и "накликивания" сцен.

Для Windows.

Без работы с сетью.

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

Почему так?

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

Под катом удалось написать об обработке действий игрока в реальном времени, запуске периодических событий по таймеру, использовании "современного" генератора случайных чисел, об изменение размера экрана консоли, об ускорении вывода текста в консоль.

Заинтригованы?

Git для новичков (часть 1)

Reading time5 min
Views734K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее

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

Reading time14 min
Views24K


Примечание: полный исходный код проекта можно найти здесь.

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

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

Китайцы создали альтернативу Android и iOS на Ubuntu для смартфонов и планшетов

Reading time2 min
Views24K

Импортозамещение в Китае активно реализуется. На днях была представлена мобильная операционная система JingOS, которая предназначена для планшетов. В ближайшее время разработчики планируют создать и версию для смартфонов, так что эта ОС — прямой конкурент (пока лишь для Китая) Android и iOS.

Сейчас ОС работает на планшетных ПК с x86-процессорами. Вскоре будет выпущена ARM-версия, для смартфонов и планшетов с чипами на этой архитектуре. Система уже вышла из стадии прототипа, с ней можно полноценно работать. Основа ее — Ubuntu 20.04, которая вышла весной прошлого года. Сейчас она доступна в виде бета-версии, китайцы выложили систему в свободном доступе.

Погружаемся в логово ржавчины. Как работает компилятор rust

Reading time16 min
Views17K

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

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

Ну, Fe2+mH2O + 2OH- = mH2O + Fe(OH)2↓

Основы Bash-скриптинга для непрограммистов. Часть 2

Reading time10 min
Views41K

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

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

Читать далее

Information

Rating
7,294-th
Registered
Activity