The CRPG Book Project
totoro
spiiin
https://crpgbook.wordpress.com/
Катастрофически большая, подробная и интересная книга о компьютерных ролевых играх всех времён. Маст-рид для геймеров, и увлекающихся разработчиков игр тоже.

This entry was originally posted at https://spiiin.dreamwidth.org/115135.html. Please comment there using OpenID.
Tags: ,

Сапёр в Windows 10
totoro
spiiin
Захотелось поностальгировать и поиграть в Сапёра.
Собственно, вот он для новой винды. 99 мегабайт, попытка залогиниться в Windows Live при первом запуске, туториал, возможность расшарить результаты в соцсетях, скины, реклама (!)...

Поставлю-ка лучше на виртуальную машину образ Windows 98, ну его нафиг.

This entry was originally posted at https://spiiin.dreamwidth.org/114885.html. Please comment there using OpenID.
Tags:

Стань ошибкой
totoro
spiiin
"Если хочешь, чтобы мир изменился – стань этим изменением. Если хочешь, чтобы машина дала сбой, стань этим сбоем" This entry was originally posted at https://spiiin.dreamwidth.org/114515.html. Please comment there using OpenID.

Управление умными лампочками Milight с телефона на Android/iOS
totoro
spiiin
Пару лет назад уже писал про китайские лампочки Milight, которыми можно управлять через Wi-Fi. С тех пор использовал их просто как цветные лампочки с пультом управления и радовался. Но зимой просыпаться утром особенно трудно, поэтому я решил сделать себе будильник, который будет постепенно увеличивать яркость света, вместо того, чтобы просто звенеть.

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

Схема управления будет выглядеть примерно так:


К домашнему роутеру цепляется сервер-будильник, и роутер управления лампочками. В нужный момент сервер-будильник передаёт сигнал "Зажечь лампочки", затем домашний роутер передаёт его на роутер управления лампочками MiLight, который зажигает лампочки и будит человека.

Настройка сети

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

Выбор "сервера-будильника"

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

Лучшим выбором, скорее всего, будет отдельное устройство на основе микроконтроллера, одного заказанные мной для этой цели Arduino идут из Китая слишком долго, поэтому я решил попытаться выбрать на роль сервера одно из имеющихся в наличии устройств. В наличии оказались: ноутбук (который жалко держать включенным постоянно), iPhone (выглядящий перспективно) и старый Samsung Galaxy (с раздолбанным экраном и включающийся не с первой попытки).

Попытки с iPhone

На iPhone после недолгих поисков в AppStore обнаружилось чудесная программа Home Remote. Программа действительно замечательная, и позволяет составлять триггеры с возможностью выбрать действие (поддерживаются все типы ламп Milight и несколько других, команды по TCP/IP, а также комбинации других действий) и способ активации действия. Среди способов активации - геопозиция (координаты зоны, в которую входит пользователь, или параметры сети, к которой подключится пользователь), микрофон (неплохо распознает голос, правда почему-то только на английском), таймер (то, что мне изначально было нужно), или кнопка на связанных с iPhone часах iWatch или маке. Всё чудно, но из-за ограничений iOS триггеры работают, только если открыто главное окно программы.
Если же телефон уснёт, то программа всего лишь показывает локальное уведомление "хочу активировать команду, разблокируйте телефон и откройте программу, чтобы я смогла это сделать". Из-за этого использовать её или любую другую программу на iOS в качестве умного будильника нельзя. Я весело поговорил со своей лампой ("Лампа, режим Диско!"), и перешёл к поиску подходящего софта под андроид.

Сервер-будильник на Android

Жалко было отказываться от iOS версии, но держать телефон включённым всю ночь не хотелось, поэтому я стал искать планировщик запуска своих программ под Android (на крайний случай, из него можно и полноценный сервер сделать - всё равно валяется без дела). Почти сразу же мне на глаза попалась бесплатная программа TaskBomb. Я просмотрел несколько туториалов к ней, и обнаружил пример, озаглавленный "Running a script every 5 minutes". Тут мои глаза загорелись и вся схема нарисовалась в голове:

- К TaskBomb существуют готовые плагины для решения типовых задач. Один из таких плагинов - SL4A Script Launcher, позволяет запускать скрипты SL4A.
- SL4A (Script Layer for Android) слой, который позволяет выполнять скрипты на множестве разных языков на выбор.
- Python for Android - добавляет возможность выполнять скрипты на Python для SL4A.
- Python for Android позволяет ставить 3rd party модули в директорию /sdcard/com.googlecode.pythonforandroid/extras/python .
- Если добавить туда модуль управления лампами milight (а также модуль importlib из стандартной поставки python для win32/linux/mac, который используется этим модулем), то можно запускать по таймеру собственные python скрипты!

Тестовый скрипт, включающий все лампы (всего в 4 строки!):
https://gist.github.com/spiiin/3b0ebc3a3ee798ef3723c24798fb0978

Дальше остаётся только повесить этот скрипт на запуск в определённое время через TaskBomb и лечь спать.

This entry was originally posted at https://spiiin.dreamwidth.org/114318.html. Please comment there using OpenID.

Mastering Bitcoin
totoro
spiiin
Дочитал Mastering Bitcoin, в книжке рассказывается как о базовых концепциях самой известной криптовалюты, так и о программах/библиотеках для работы с ней. Всё это описывается детально, виден "скелет" всего, что происходит внутри системы. Описано, как с помощью простого скрипта на Python собрать, подписать и отправить транзакцию со своего адреса, имея только приватный ключ от него.

Низкоуровневые подробности интересны будут только для разработки своих приложений, но разобраться в функционировании системы будет полезно любым программистам, из-за хайпа вокруг биткоинов многих интересует только их текущий курс к доллару =\

Забавляет, что в качестве примеров часто приводятся цифры, которые по текущему курсу подходят скорее не для оплаты чашки кофе, а для покупки кофейни.

В качестве упражнения попробовал повторить исследования хакера по поиску кладов в блокчейне. Адреса всех неизрасходованных выходов транзакций блокчейна (UTXO) можно получить из полного узла, или, если лень его качать, то их периодически выкладывают тут (~20 млн адресов в данный момент).

Получается примерно такой код:
https://gist.github.com/spiiin/f929da13d7f4c2ee31365f59ac22bb02

Забавно, что по первому же адресу из примера удалось обнаружить немного реальных денег (574 сатоши, уже забрали из этого кошелька).

This entry was originally posted at https://spiiin.dreamwidth.org/114074.html. Please comment there using OpenID.

Следствие из предвзятости подтверждения
totoro
spiiin
Предвзятость подтверждения - известный факт, нам очень нравится искать во всём (особенно в том, о чём мало известно, и когда факты сложно трактовать однозначно) подтверждения своей точки зрения.

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

Так что, если явление нам нравится (сознательно или немного подсознательно) и про него много информации вокруг (неважно какой, положительной или отрицательной, главное, чтобы много), нам начинает казаться, что оно развивается, и вот-вот захватит мир. А если - не нравится, то нам начинает казаться, что оно уже завтра исчезнет и о нём никто не вспомнит.

Всё просто. Пара примеров явлений, о которых масса информации (положительной, отрицательной, нейтральной).

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

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

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

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

This entry was originally posted at https://spiiin.dreamwidth.org/113664.html. Please comment there using OpenID.

Manufactoria
totoro
spiiin
Игра и эзотерический язык программирования Manufactoria.
This entry was originally posted at https://spiiin.dreamwidth.org/113427.html. Please comment there using OpenID.
Tags: ,

О кладах в блокчейне, цене ошибок в программах и силе случайности.
totoro
spiiin
Однажды пользователь reddit с ником fitwear достал свой бумажный кошелёк с 9 биткоинами (65000$ по курсу на тот момент), по всем правилам безопасности зашёл с ноутбука с чистой Windows в веб-кошелёк blockchain.info с помощью двухфакторной авторизации, ввёл с клавиатуры номер кошелька и отправил биткоины на свой адрес. Они пролежали там ровно 4 секунды и улетели в неизвестном направлении. В недоумении пользователь написал администрации сайта blockchain.info, где ему ответили, что сделать ничего не могут. Он начал искать описание подобных случаев в интернете, но ничего подобного не нашёл, поэтому создал и тему с описанием ситуации. Его компьютер не мог быть заражен трояном, никто не мог похитить его закрытый ключ (он был напечатан на бумаге), но биткоины всё-таки пропали.
Read more...Collapse ) This entry was originally posted at https://spiiin.dreamwidth.org/113215.html. Please comment there using OpenID.

Вид-призрак
totoro
spiiin
http://elementy.ru/novosti_nauki/433147/Italyanskaya_ozernaya_lyagushka_vymerla_no_genom_ee_zhivet

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

У зелёных и прудовых лягушек иногда "выключается" рекомбинация между генами, их геном становится клональным. Тогда при скрещивании между собой, образуется гибридный вид, съедобная лягушка, у которой клональная часть генома уничтожает обычную и при размножении передаётся потомству в неизменном виде.

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

Собственно, один из видов, от которого образовался гибрид, в Италии вымер, но геном его продолжает сохраняться и передаваться гибридами! Есть только геном вида, но больше нет его представителей.

P.S. В статье "Зеленые лягушки: жизнь без правил или особый способ эволюции?" ещё больше головокружительных фактов:

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

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

- У триплоидов клетки в полтора раза больше, чем у диплоидов (больше хромосом -> больше масса ядра -> больше масса самой клетки). При этом масса и размер лягушек-триплоидов примерно такие же – значит, в их телах в полтора раза меньше клеток. Три генома, эволюционировавшие в разных видах, управляют развитием тела, существенно отличающего от нормального, и при этом получается жизнеспособное существо.
This entry was originally posted at https://spiiin.dreamwidth.org/113106.html. Please comment there using OpenID.
Tags:

Жонглирование в светящихся перчатках
totoro
spiiin
Нашёл на алиэкспрессе себе перчатки под светящиеся мячи. Осталось в довершение образа маску собрать.


Вообще, выкладываю жонглирование теперь в основном в инстраграме, удобнее короткие видео записывать, чем длинное компилировать, плюс там есть почти вся тусовка японских жонглёров. This entry was originally posted at https://spiiin.dreamwidth.org/112821.html. Please comment there using OpenID.
Tags:

?

Log in

No account? Create an account