Архив за 10 сентября 2016

Математика — весьма интересная и занимательная наука, особое место в которой занимает вычисление числа Pi. История его вычисления занимает более 2х тысячелетий, а точность вычисления колеблется от 256/81 в древнем Египте и 339/108 в Ведах, до Джамшида ал-Каши, вычислившего 16 знаков в 15м веке. Чего стоит хотя бы история Вильяма Шенкса, который потратил 20 лет на вычисление 700 знаков числа Пи, но уже потом выяснилось, что во второй части расчетов он ошибся… Но текст в общем-то не об этом, а об алгоритмах. Стало интересно, можно ли вычислить Пи на iPhone? И если да, то с какой точностью?

Вычисление 1000000 знаков числа Пи. На iPhone - 1

Можно сказать сразу — миллион не предел. Можно и больше. Подробности и реализация под катом.
Читать полностью »

Недавно получил заказ, где между всего прочего нужно было сделать блок, в котором текст должен масштабироваться внутри блока. Т.е не зависит, сколько текста в блоке – весь текст должен быть видимым! Сначала думал считать символы, строки… Сверстал блок в котором должен находиться контент и при вводе текста заметил, что блок растягивается в зависимости от наполнения. Родилась идея сделать функцию, которая будет подбирать размер шрифта, сравнивая исходную высоту блока и настоящую. Так родилась вот эта функция:

image

Читать полностью »

Введение

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

Подготовка

Сначала опишем структуру данных, в которой будет храниться исходная математическая функция. Опишем трейт MathAST:

sealed trait MathAST

И его наследников:
Читать полностью »

в 21:14, , рубрики: kotlin

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

А зря, т.к. недавно общаясь с одним из своих коллег, который как раз прочитал одну из статей по Котлину с обзором основных фич, доказывал мне что null-safety зло и реализовано через обработку исключения, т.е. выполняя код:

name?.length

компилятор просто оборачивает вызов в try-catch, пытаясь поймать NullPointerException.

Аналогично другой товарищ после очередного обзора считал, что раз var есть в Kotline, как и в JS, то типизация и там и там динамическая, да и вообще «все эти ваши var/val зло, ничего не понятно, хорошо, что их в Java нет». Say hello, JEP286!

Еще один неудачный пример популяризации языка случился недавно, когда на одной из презентаций по Котлину сам автор доклада не совсем корректно описал работу языка, связанную с примитивами из Java, рассказывая о том, что в Котлине всегда будут использоваться ссылочные типы. Об этом и хотелось бы рассказать поподробней.
Читать полностью »

Разбор графики Supreme Commander - 1

Total Annihilation занимает в моём сердце особое место, потому что это была моя первая RTS; вместе с Command & Conquer и Starcraft это одна из самых лучших RTS, выпущенных во второй половине 90-х.

Через десять лет, в 2007 году, был выпущена её наследница: Supreme Commander. Благодаря тому, что над игрой работали одни из основных создателей Total Annihilation (дизайнер Крис Тейлор, программист движка Джонатан Мейвор и композитор Джереми Соул), ожидания фанатов были очень высокими.

Supreme Commander была тепло принята критиками и игроками благодаря своим интересным особенностям, таким как «стратегический зум» и физически реалистичная баллистика.

Давайте посмотрим, как движок SupCom под названием Moho рендерит кадр игры. RenderDoc не поддерживает игры под DirectX 9, поэтому реверс-инжиниринг выполнялся при помощи старого доброго PIX.
Читать полностью »

Один: «Ты записал, что я тебе сказал?». Второй: «Я запомнил!». Через час бездонная пропасть в памяти и звенящая тишина в голове.

Читать полностью »

Онлайн-конструктор «умного дома» - 1

Создаёт web-интерфейс для управления и скетч для ардуино

Будучи не понаслышке знакомым с трудностями, которые испытывают строители «умных домов», решил запилить конструктор, который всё сделает сам, включая скетч для ардуины, и сервер HomestD для обмена данными.

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

Почему кожа в воде сморщивается - 1

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

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

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

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

По словам источника, он получает многочисленные сообщения о том, что анонсы камер Olympus OM-D E-M1 II и Panasonic Lumix DMC-GH5, приуроченные к выставке Photokina, будут «бумажными».

Поставки камер Olympus OM-D E-M1 II и Panasonic Lumix DMC-GH5 начнутся не раньше 2017 года

Читать полностью »

Жирафы существуют не в одном, а в четырех видах

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

Читать полностью »