nsg21: (Default)
Что я с этим трафиком не делаю, очень быстро он выстраивается в непроходимый затор, причем во многих местах сразу. Чтобы сделать хоть что-то позитивное начал делать контракты. В коде ковыряться чтобы понять что там за формулы мне не хочется, поэтому сыграл одну партию и записал все контракты которые мне там предлагали чтобы исследовать их статистически.
All contracts in payload game of 2019-12-13. Ещё список контрактов из Хоккайдо полученных многократными ресетами: contracts from Hokkaido and other tables

Стоимость контракта зависит от distance и weight. Формула price=0.2*weigh*(distance+100). Время на доставку тоже зависит от этих же параметров но как-то менее очевидно. Откуда же берется distance? Надо заметить что "расстояний" в payload как минимум 4: одно указываемое в контракте, второе показываемое одометром, третье показываемое одометром на хайвее и четвёртое это время по часам умноженное на скорость по спидометру. distance из контракта не очень хорошо коррелирует с показаниями одометра если ехать из одного города в другой. Ключом к пониманию оказался список контрактов из Хоккайдо. Если отсортировать их по расстоянию, оказалось что самой далёкой от Хоккайдо префектурой payload считает префектуру c несколько пессимистично звучащим на русский слух названием Hyougo. На карте она не то чтобы в самом центре, но довольно близко к нему. Зато в списке префектур внутри игры она почему-то на последнем месте. Остальные идут примерно в том порядке если идти из Hokkaido в Kagoshima, а вот Hyougo выбивается. Наверное про неё забыли, а когда вспомнили, вставили в самый конец. В общем, distance это расстояние между элементами списка (умноженное на 100). Вдобавок в обратную сторону оно всегда на единичку меньше. Наверное off by one error прокрался.

Кстати о числах. Чтобы заработать миллион (и выиграть) потребовалось 120 контрактов. При этом проехал 516600 игровых километров за 13 игровых дней. (игровое время примерно в 30 раз быстрее реального, то есть это больше 10 реальных часов). Средняя скорость при этом была, как легко подсчитать около 1600 км/ч что бы там спидометр не показывал.

10 часов это как-то много. Я точно помню что я как-то сел и прошёл за один присест. Не мог же я 10 часов просидеть? В смысле з'їсти то він з'їсть, та хто ж йому дасть.
nsg21: (Default)
Есть у меня свинцово-кислая батарейка в которую нужно периодически доливать конденсат.
Для этого надо откручивать крышечки на элементах, а они, заразы, сидят туго и в пальцы впиваются так, что просто больно. Я долго терпел, но наконец решил что-то с этим сделать. Вот это что-то:


А вот, для примера, одно из них в естественной среде обитания:


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

Какая волшебная, всё-таки, вещь, эти ваши 3D принтеры.
Файлы лежат здесь
nsg21: (Default)
Когда из крана в душевой начинает капать, это знак, что пора менять прокладки. Для этого надо сначала купить прокладки в магазине и подождать месяц. Потом открутить все винтики и ободрать всю замазку вокруг смесителя, выяснить что это совершенно не нужно, а нужно открутить один маленький винтик который удерживает рукоятку на месте. После этого нужно попытаться открутить то что, как оказалось после поисков в интернете, называется bonnet nut. Это такой тонкостенный цилиндр 44 мм в диаметре, 16 мм в высоту, с резьбой на внутренней поверхности и мелкой насечкой на внешней, который удерживает на месте картридж смесителя. Закручивать (и, соответственно, откручивать) его надо голыми руками (о чём как бы намекает мелкая насечка на внешней поверхности).

В прошлый раз я его откручивал 10+ лет назад, за это время он приварился намертво. Наверное кальция в системе хватает. Интернет предлагает решение в виде ключа с круглой дыркой которая надевается на bonnet nut как хомут. Ждем ещё месяц, и изобретаем свой собственный прибамбас.



От прибамбаса толку нет, надёжно ухватиться не получается, и оно всё проскальзывает при попытке провернуть. Забрызгиваем всё WD40 и ждём несколько часов. После этого применям прибамбас ещё раз и на этот раз bonnet nut откручивается.

Какая доля успеха приходится на изобретение, а какая на wd40 я не знаю, но если ненулевая, описываю всё это на случай если понадобится через 10 лет.
nsg21: (Default)
Почти 15 лет назад (скорее, 14, но всё равно много) я начал писать небольшую программку для внутреннего использования. Она должна была решать проблему накопления на диске разных документов. В основном это были статьи по интересующим меня темам которые я брал из интернета и после беглого просмотра складывал где-то на диске имея ввиду может быть когда-нибудь к ним вернуться. Очень скоро количество "единиц хранения" выросло до такого размера что с ними стало трудно что-то делать. Искать, пересматривать, обнаруживать дубликаты, сливать хранилища с разных компьютеров в одно место. При этом файлы могли в процессе перемещаться из папки в папку (в зависимости от моих меняющихся представлений от том как НА САМОМ ДЕЛЕ надо организовать структуру хранения), переименовываться и переконвертироваться в другие форматы (например потому что для исходного формата нет удобной читалки, или старая читалка больше не работает на новом компе).

Решения которые стали возникать в голове, естественно зависели от тогдашней технологии. Например, карточки я собирался хранить в xml, бэкенд делать на перле, а UI я, конечно же, собирался делать на браузере. Надо заметить что несмотря на то что это же слово используется для обозначения чего-то похожего и сегодня, браузер тогда был совсем не то же, что браузер сейчас. Да, тогда уже был javascript и html, но на этом сходство заканчивалось. Не было jQuery (не говоря уж о), не было JSON (потому и xml), бесспорным флагманом был интернет эксплорер, который, помимо всего прочего, имел полную поддержку VRML. VRML я упомянул не для красного словца -- в моём воображении рисовались виртуальные Нью Васюки где каталоги были зданиями, а подкаталоги -- залами в них и так далее. И не только в воображении, сохранились даже .wrl файлы, но только я не знаю что там, смотреть их уже нечем.

В общем, я с энтузиазмом принялся за дело. Написал несколько скриптов на перле для выполнения операций, придумал xml схему и даже сделал xsl который по этой схеме генерирует из внутреннего xml вполне пристойно выглядящую "карточку" и "краткую строчку в списке" (по крайней мере, для простых случаев). Надо сказать что к моему немалому удивлению эта часть работает и в современных браузерах. Никогда бы не подумал что они ВСЕ поддерживают xml/xsl.

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

Честно переносил код с компьютера на компьютер (по мере их апгрейдов) и даже не пытался вернуться. Пока на прошлых длинных выходных таки не собрался и на свежую голову таки сделал что-то хоть как-то работающее. Времена сейчас более просвещённые, поэтому вместо xml у нас json, а вместо перла всё тот же javascript. Perl можно было бы и оставить: от javascriptа он почти не отличается, но я его особо не упражнял все эти годы.

В общем, это мой новый личный рекорд по выниманию чего-либо из долгого ящика.
nsg21: (Default)
Сделал часы которые показывают десятичное время. В основном, потому, что оно было введено во время Великой французской революции декретом конвента от 5 октября 1793 года.


Часы идут и показывают текущее время (к сожалению, только те, что по ссылке, а не вставленные в пост livejournal). Серая шкала показывает обычные 1/24-суточные часы для тех у кого революционное самосознание ещё недостаточно развилось.

Интересно, что всё необходимое находится внутри самого svg файла, так что даже если его скопировать и смотреть отдельно, то всё равно должно всё работать.
nsg21: (Default)

http://i.imgur.com/6huvRS2.gifv

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

На самом деле, конечно же нет никаких организмов, только семейство множетсв "модифицированой стабильности" отображения z^6+2z+c где параметр c описыват фигуру Лиссажу внутри маленького прямоугольничка.

Когда-то давно я уже писал такую программу. Как сейчас помню, картинка рисовалась точка за точкой, на кадр уходило минут пять. На MSX BASIC. Подкручивать параметры тоже было неудобно, поэтому полноценного исследования не получилось. Вспомнил и подумал, а не сделать ли такое же, только на javascript? Сделал и содрогнулся. Даже на моём не очень новом лаптопе картинка 256x256 отрисовывается практически в реальном времени, только успевай мышкой параметр c тягать.

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

click

Jul. 12th, 2015 12:54 am
nsg21: (Default)
Пишу программку в которой присутствуют геометрические фигуры. Они перекрываются и хочется чтобы по клику на фигуре которая накрыта другими она всплывала.
Для этого в mousedown делаю так:
     // bring on top, but interferes with "click" event
     $(this).parent().append(selectedtile=$(this).detach())


parent() в этом контексте -- это содержащий всё svg и добавление фигуры в конец делает её верхней.

Так вот, после такой операции перестаёт приходить click, как минимум в хроме.
Я думаю, дело в том что последовательность mousedown-mouseup прервана detach() и поэтому mouseup приходит элементу который только что создан, а значит не получал mousedown и это сбивает с толку раздатчика событий.
nsg21: (Default)
По мотивам


начал было писать нечто похожее, но по пути устал. Цвета красивые, спасибо Cynthia Brewer, но можно ли из этого сделать что-нибудь интересное и как именно -- совершенно непонятно.
nsg21: (Default)
У меня в детстве была пластмассовая зебра, которая умела ходить по наклонной плоскости.
Попытался сделать похожее, но оно как-то не очень-то ходит, сделает пару шагов и останавливается.


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

И в интернете такого не могу найти.
ps. http://igrushka.kz/vip86/shamed.php
судя по всему закруглять ступни надо в боковом направлении тоже.
nsg21: (Default)
Сделал эмулятор логарифмической линейки с очень длнинной шкалой закрученной в спираль. Типичный представитель этого типа линеек -- Gilson Atlas.
http://nsg.upor.net/slide/cratlas.htm
nsg21: (Default)
Снял с полки микроскоп и обнаружил в нём слайд с засушеным ротифером. Ротифер на слайде нашёлся легко (по записанным координатам и кластеру водорослей вокруг). Раз такое дело, решил попробовать его размочить. Капнул воды и подождал. Через 10-15 минут ничего не изменилось, ротифер не ожил. Хотел добавить ещё воды, но пока размазывал её иголкой случайно сдвинул ротифера, он оторвался от стекла и куда-то улетел. В общем неудача. Ещё разобрал окуляр чтобы вытереть пыль с пластинки со стрелкой (её достаточно накопилось и она мешает). После сборки пыли стало меньше, но теперь стрелка не в фокусе и искажения по бокам. Наверное не так собрал.
nsg21: (Default)
Сделал адаптер для вставляния гелевой ручки в Cameo (это такой компьютерно управляемый вырезатель из бумаги). После такой операции вырезатель превращается в плоттер.
adapter-with-pen
Внутренний диаметр адаптера подобран под размер конкретных ручек (из большого и разноцветного набора).
Винтик с гайкой служит для фиксации если захочется вставить ручку меньшего диаметра.

pen-adapters

Теперь осталось придумать что бы на нём нарисовать.
nsg21: (Default)
Младшенький целыми днями смотрит мультик про пиратов и каждый раз когда гуляем по магазину, клянчит себе большой игрушечный пиратский корабль с витрины. Сделал ему сегодня почти такой же, только из подножного материала. Корабля хватило примерно на полчаса.
pirate-ship
nsg21: (Default)
Сегодня дочищал жёлоба водостока.
Все близкие деревья наконец-то посбрасывали листья, можно чистить начисто.
Поскольку погода последние несколько дней была сухая и жёлоба забиты исключительно сухими листьями, мне пришла в голову гениальная идея продуть их пылесосом. Вот приспособление:
037
Duct tape понадобился потому что в ту дырку откуда пылесос дует, трубки надо вставлять узким концом, соответсвенно широким наружу.
До низких жёлобов можно достать с земли, до высоких надо было стоять на крыше, довольно близко к краю. Времени на постройку приспособления ушло больше чем если бы я просто залез по лестнице и почистил руками, но "в следующий раз" не надо будет изобретать, да и веселей.
nsg21: (Default)
Сделал карманный справочник для своего нового калькулятора wp34s.
WP 34s pocket reference

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

Хотелось бы её после этого издать. Какие есть сервисы для карманных изданий малым тиражом? Я знаю lulu.com, но только понаслышке. Потенциальных читателей у этой книги, наверное, несколько десятков, из этого числа можно исходить.
nsg21: (Default)
День рождения встретил впаивая конденсаторы и кристалл. В честь праздника всё, похоже получилось. Во всяком случае, активировалась та часть firmware что зависит от кристалла и стало возвращать время. Завтра (уже сегодня) продолжу -- ещё надо USB платку и IR светодиодик.
nsg21: (Default)
Проковырял дырки в футлярчике от калькулятора и вставил в них ушки чтобы продевать туда шнурок и носить на шее, если понадобится.
case-mod

То ли инструменты у меня неправильные, то ли руки, но ровно и красиво посадить ушки не получается.
На ютубе говорят "открыть холодильник, положить слона, закрыть холодильник" и плавным движением так, раз, и готово. А я перевёл целую кучу этих ушек пока тренировался и всё равно криво.
eyelet-closeup

Вставлял ушки гладкой стороной внутрь чтобы сократить возможности для царапанья калькулятора.
Сначала хотел сделать 4 дырки, но после возни с первой решил что двух достаточно. В качестве шнурка использую шнурок от ботинка, в основном ради наконечников. 36" коротковато, но можно, надо будет попробовать 45".
nsg21: (Default)
Играться с калькулятором оказалось интереснее, чем я ожидал.

Написал Freecell на его внутреннем бэйсике:

(Скачивать отсюда)

Разобрался как с ним обмениваться данными через последовательный порт (причём это касается программ написанных на его бэйсике):
nsg21: (Default)
Чехольчики упомянутые здесь -- http://nsg21.livejournal.com/7775.html -- истрепались до свинского состояния.

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

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

Mendel

Jan. 8th, 2012 12:02 am
nsg21: (Default)
В продолжение http://nsg21.livejournal.com/20100.html

План был закончить к новому году. Все компоненты давным давно куплены и доставлены. Но всё труднее чем оно есть. Начал собирать раму -- дошёл до середины и застрял. Переключился на нагреватель пластика, что-то сделал и застрял. Одним словом хвастаться нечем было аж до сегодня. А сегодня я допаял электронику, скомпилировал и зааплоадил в неё firmware (для чего установил компилирователь с аплоадером, с приключениями), установил хост софт на лаптопе и оно друг друга увидело и отозвалось. Это несомненный вин на сегодня. Плюс побил личный рекорд по паянию. Плата совсем небольшая, всего-то три десятка компонент плюс дофига разъёмов, но всё равно рекорд.
Page generated Mar. 8th, 2026 10:11 am
Powered by Dreamwidth Studios