?

Log in

No account? Create an account

Про браслет Xiaomi Mi Band 2

Купил себе мелкую игрушку - называется Xaomi Mi Band 2 и относится к категории фитнес-браслетов (модное сейчас, хотя и глупое, увлечение).  Изначально я хотел наручные часы, чтобы смотреть время во всяких специфических условиях, когда телефона с собой быть не может (в бассейне, на пляже и т.п.). Строго говоря, особой необходимости в этом нет, да и наручные часы я со школы не носил, но иногда бывает удобно. Год или два я как-то вяло посматривал, что в этом плане появляется, но особо ничего не радовало. 

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

Read more...Collapse )

Tags:

Про Samsung Galaxy S7 Active

Прошло примерно 4 года с момента покупки предыдущего моего смартфона ( Motorola Droid Mini, Android 4.4 ). Забавно, что позапрошлый телефон ( HTC Desire , Android 2.1 ) был куплен в 2010-м. Т.е. он тоже прослужил столько же.

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

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

Read more...Collapse )

Tags:

Написал на Habrahabr статью про свою разработку на Javascript под NodeJS, React+Redux, React-Native (с обменом между ними через GraphQL).

Intro для Mattel Intellivision

Написал небольшую 6kb новогоднюю интро для Mattel Intellivision (игровая приставка 1979 года на процессоре CP1610 с 1.5kb RAM). Для речи используется модуль синтезатора Intellivoice (русские слова скомбинированы из английских фонем):

Исходник: https://github.com/petersobolev/yolka
Pouet: http://www.pouet.net/prod.php?which=73167

Написал большую статью про историю IT в 1980..1990-е (какой её застал я сам)

React-Native + NFC

Сделал работающую связку React-Native с NFC (пришлось модуль под Android делать - единственный найденный не работал). В процессе многократно испытал все пять стадий принятия неизбежного. Особенно вдохновляют нагугленные советы вида "перезапустите скрипт три раза, на второй закройте окно сразу, как только оно откроется". И ведь помогает! Да, ещё отладочное меню на телефоне в RN вызывается встряхиванием. Со стороны эти манипуляции, наверное, выглядят прикольно.



Собственно, больше половины времени отнимает выяснения методов устранения загадочных ошибок выдаваемых то npm, то gradle, то ещё чем-нибудь подобным, чистка каких-то загадочных кэшей которые не очистились сами, ручное прописывание переменных окружения, перезагрузка виндов (иногда тоже помогает). Админы такое любят (я не админ).

Однако это, конечно, намного круче Cordova/Phonegap.

Сам модуль: https://github.com/petersobolev/nfc-react-native-simple

Tags:

Совсем забыл упомянуть здесь про две мои новые статьи:
"Архитектура и программирование Philips Videopac (Magnavox Odyssey 2)":
https://habrahabr.ru/post/313412/
http://hype.retroscene.org/blog/dev/537.html
и
"Архитектура и программирование компьютера Texas Instruments TI-99/4a":
https://habrahabr.ru/post/313058/
http://hype.retroscene.org/blog/dev/535.html

Кроме того, немного дополнил и также выложил на Habrahabr и Hype старую статью "Архитектура и программирование компьютера Vectrex":
https://habrahabr.ru/post/313218/
http://hype.retroscene.org/blog/dev/536.html
Два моих семинара для Chaos Constructions'2016. Первый - "Компьютер 'Texas Instruments TI-99/4a' 1980 года и разработка под него":



И второй - "Перспективы различных ретро-компьютеров с точки зрения демосцены" (в нём, в том числе, довольно много говорится про Philips Videopac):

Написал 256 байт intro для древней консоли Philips Videopac (процессор i8048, около 160 байт RAM, 1кб ROM) 1978 года.



В интро используются три вида графических примитивов (из четырёх реализованных в видеоконтроллере i8245) - grid, sprites и chars. Не используется лишь quads (представляющий собой разновидность chars).

Падающие сверху вниз человечки - не спрайты, как это может показаться, а символы (chars) размером 8x8. Впрочем, в 8245 chars и sprites - родственные понятия. Используется максимально допустимое число одновременно отображаемых chars - 12 штук. Все они берутся из стандартного знакогенератора (там есть символы человечков), что экономит как минимум 24 байта. Это немаловажный момент, поскольку архитектура i8048 и формат картриджа Videopac совсем не способствуют компактности кода. В частности, несмотря на большое число регистров (a, r0-r7), в ряде случаев можно использовать лишь некоторые (a, r0, r1), поэтому образуется довольно много "лишних" инструкций, гоняющих данные из регистра в регистр.

Фон из меняющихся оранжевых квадратов реализован через grid. Это аппаратно генерируемая сетка 9x8 (в специальном режиме "шахматного" поля), в которой по некоему алгоритму включаются те или иные сегменты. Приоритет grid всегда наименьший, поэтому человечки летят поверх неё.

Невезучий, но неунывающий котик представляет собой два спрайта (8x8 каждый). При этом данные для спрайтов во время движения периодически меняются на другие (всего два кадра)), чтобы имитировать двигающиеся лапы.
Столкновение chars и sprites фиксируется видеоконтроллером, при этом по определённому алгоритму меняется цвет спрайтов котика, а также сбрасывается или устанавливается специальный бит, сдвигающий чётные строки спрайта на полпиксела относительно нечётных.

В качестве звука столкновения используется один из звуков доступных через BIOS (что экономит ещё несколько байт).

Исходники: https://github.com/petersobolev/rash
Pouet: http://www.pouet.net/prod.php?which=68024

Интро было представлено на Chaos Constructions'2016 и заняло 6 (из 9) место.