Архив за 22 марта 2017

Троичные вычисления

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

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

Итак, вот список опубликованных статей цикла (будет обновляться):

Напоминаю, что единственным строительным блоком вычислителя будет троичный мультиплексор. Вот фотография оригинального тримукса дизайна Александра Шабаршина и моего исполнения на поверхностном монтаже. Одна такая плата несёт на себе два троичных (де-)мультиплексора:

Считаем до трёх: два - 1

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

Интро

Каждая таблица в SQLite по умолчанию содержит приватный ключ на основе автоматически генерируемого 64-битного целого. Это эффективно и удобно в большинстве ситуаций. Неудобства начинаются, пожалуй, только в двух случаях:

  • когда диапазона 64 бит не хватает (тогда стоит задуматься о целесообразности SQLite задаче)
  • когда хранилище становится "распределенным"

Может показаться, что и второй задачи в комбинации с SQLite не должно возникать, но распределенность не всегда означает что-нибудь вроде BigData. Типичный пример (из-за чего лично мне и понадобилось исследование на эту тему) это приложение с возможностью синхронизации данных между устройствами. Это может быть как что-то небольшое, как записная книжка, так и более нагруженное, как история браузера. Проблемой тут становится не столько объем данных, сколько слияние нескольких баз. Очевидно, что целочисленные счетчики записей, начинающие отсчет с 1, неизбежно будут выдавать конфликтующие последовательности, а значит использовать их в качестве уникального идентификатора записи на нескольких устройствах уже нельзя. Можно заморочиться с разделением на поддиапазоны или "сдвиганием" айдишников записей перед их передачей, но это все кривые и хрупкие костыли. Никто так не делает, конечно же. Вместо этого каждое устройство присваивает своим записям что-нибудь вроде GUID-а – просто и надежно.

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

В Швейцарии создали первого съедобного робота

Группа ученых из Лаборатории интеллектуальных систем Федеральной политехнической школы Лозанны, что в Швейцарии, сконструировала привод, изготовленный из съедобных материалов. Этот привод использовался для создания робота-гусеницы длиной в 9 сантиметров. Такой робот может без проблем перемещаться по желудочно-кишечному тракту человека, выполняя диагностику или доставку лекарственных средств.

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

Опубликован Топ-5 самых надежных автомобилей в мире

В Сети опубликован рейтинг самых надежных автомобилей, представленных на глобальных рынках. Так, согласно информации издания «Дейли-Мотор», самой надежной моделью оказался японский гибрид Toyota Prius нового поколения. Напомним, что этот автомобиль в нынешнем году вернулся на отечественный рынок после непродолжительного отсутствия, связанного со сменой поколений.

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

Чем точнее часы, тем более размытым становится время

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

Honda выпустит на рынок очень странную модель

Проект водородомобиля Honda Clarity приносит японцам одни лишь убытки и, судя по всему, «электрификация» машины не изменит положения дел. По той простой причине, что дальность хода на полностью заряженных батареях составит… 130 километров. Это автоматически «привяжет» электрическую «Хонду» к городам и явно ограничит спрос — с такой дальностью хода очень рискованно отправляться в дальнее путешествие, особенно если по пути не будет зарядных терминалов, информирует Читать полностью »

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

Идея состоит в том, чтобы с скомпилировать написанную на Rust программу в библиотеку, которую можно будет слинковать с помощью тулчейна для ARM.
В итоге мы сможем даже вполне комфортно дебажить смешанный код на Rust и С.
Читать полностью »

Как я стал лучше программировать - 1Автор статьи — Джеймс Лонг, один из создателей Firefox Developer Tools

Несколько человек на React Conf спросили у меня совета, как программировать лучше. По какой-то причине люди видят во мне продвинутого программиста, к советам которого стоит прислушаться. Я подумал, стоит записать «ментальную модель» того, как я подходил к программированию на протяжении всех лет.

Некоторая информация: мне 32 года и 10 лет твёрдого опыта. Наверное, только в последние пару лет я приобрёл уверенность в том, что делаю. Но даже теперь я продолжаю сомневаться в себе. Дело в том, что это чувство никогда не уходит, так что старайтесь не обращать на него внимания, продолжайте хаки и накапливайте опыт.

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

Как математик помог биологам совершить важное открытие

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

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

Самый дорогой Mercedes: ориентировочная цена более 2,2 млн евро

По данным TopGear, стоимость гиперкара, который пока носит кодовое название Mercedes-AMG Project One, составит 2,275 млн евро, причем это без учета налогов.

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