Pull to refresh
0
Karma
0
Rating

Xonix на Javascript с картинками

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

Сам пишу сейчас Xonix… И вот идея родилась буквально секунду назад. У нас есть начальная и конечная точки движения игрока. Наша задача — определить кратчайший путь, соединяющий их по суше, исключая точки, нарисованный самим игроком. Вот и всё, контур найден. В качестве алгоритма можно использовать поиск выхода из лабиринта для роботов (тоже рекурсия). Ну а дальше уже алгоритм поиска любой точки внутри контура.

Arduino watchdog или автоматический RESET в случае зависания

Темка старая, но решил отписаться для информации т.к. нашёл её через поисковик.

Имею два экземпляра Arduino Mega с Ethernet shield, один на китайском CH340, второй полноценный. ) Пишу скетч, который, принимая соединение по TCP/IP, управляет внешними устройствами. Поскольку либы ethernet сыроваты, watchdog просто необходим. Скетч вис с регулярностью 10-30 мин гарантированно.

Поскольку узнать версию или контрольную сумму бутлоадера из скетча невозможно, я решил сыграть в рулетку. К моему удивлению, на обеих платах watchdog запустился отлично, платы пашут без зависания уже несколько суток. На одном из зарубежных сайтов прочитал, что достаточно использовать WDTO_8S (проблема сброса этой константы на минимальное значение при Reset там даже не упоминается), что я и сделал. Код:

void setup()
{

// init watchdog

wdt_reset(); // reset watchdog counter
wdt_disable();
wdt_enable(WDTO_8S); // watchdog 8s timeout
............
}

void loop() {

wdt_reset(); // reset watchdog counter
...............
}


Возможно, у меня более свежие версии Ардуин и бутлоадеров. Покупались они на Али примерно в 2016, пишу из 2019. ))

«Аюша» — контроллер на процессоре 6502

Z80 — это вечный рулез. Во-первых, одно питание, во-вторых, выше чем у 8080 тактовая частота, в третьих в 2 раза больше регистров, в-четвёртых (и этот пункт стоит первых трёх), крутая команда LDIR!

«Аюша» — контроллер на процессоре 6502

Тоже помню 6502. Хорошо помню. Он поистине ужасен. Там всего 3 регистра — A, X и Y, причем они 8-битные. 16-битовых операндов нет, 16-битной адресации памяти тоже. Когда у меня появился Синклер я продолжил изучение ассемблера на Z80, а о 6502 просто забыл как о страшном сне.

Европейский суд по правам человека рассмотрит доменный спор в России

Doomsday, а если человек купил книгу и не читает её, тоже можно отнимать? Купил квартиру и не живёт в ней? Купил машину и не ездит на ней? Купил пиджак и не носит его? Купил фильм и не смотрит?

Европейский суд по правам человека рассмотрит доменный спор в России

Stepanow, так нельзя рассуждать. Люди купили домены, заплатив за них деньги, и являются их законными владельцами. Так можно до абсурда дорассуждаться. Если у человека две машины, он их купил, уплачивает автоналог, но ездит на них по очереди — может отнимем у него одну лишнюю машину, зачем ему две?

Что-то вроде этого уже было лет 100 назад.

Импорт данных в интернет-магазины

Ещё есть такой момент: нужно учитывать структуру URL страницы описания товара в интернет-магазине и импортировать свежую версию прайса таким образом чтобы тот же товар оказывался на той же странице. Если же банально в интернет-магазине не реализован ЧПУ (а он у многих не реализован) и URL страницы товара выглядит как www.domain.com/productid/17434, то при загрузке свежего прайса — если поле "№ наименования" программист привязал к productID в БД магазина — вся ваша поисковая оптимизация с индексацией пойдут прахом. При этом не следует сильно уповать на «артикул»: прайсы поставщиков как правило формируются людьми и одной человеческой ошибки достаточно для того чтобы на сайте интернет-магазина появились «кривые» страницы. Т.е. нужно ещё писать и процедуру валидации каждой записи с проверкой формата полей. На практике в прайсе данные могут быть засунуты не в ту колонку, вместо запятых могут быть точки и наоборот. А воспитывать сотрудников поставщика на тему умения работы с Excel — неблагодарное дело.

Конечно, проще с теми поставщиками кто готовит прайсы в XML для Яндекса, но у большинства прайс банально в Excel. Причём и версии Excel могут быть разные: напишешь процедуру импорта на PHP, а она с половиной файлов не работает или работает криво.

На Западе крупные компании делают так: они заводят учётки на своём складе для своих поставщиков и говорят: ребята, карты в руки: как импортируете, так и будем торговать вашими товарами. )) Но это могут себе позволить только очень крупные предприятия.

200 миллисекунд свободы

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

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

200 миллисекунд свободы

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

В приведённом мною примере механизм даёт сбой, т.к. мозг неверно предугадывает набираемое мною слово.

Парня арестовали за приглашение вступить в Google+

В оригинальной статье есть такая фраза: «The judge, recalling the restraining order hearing, said he had some concerns about Gagnon’s ability to follow court orders». «Судья, вспоминая слушания по поводу упомянутого судебного запрета, заявил, что несколько озабочен неспособностью Ганьона исполнять постановления суда». Т.е., решение было вынесено не в силу «упоротости судебной системы США», а в силу общей оценки судьёй поведения обвиняемого, в том числе на суде.

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

Как заработать $500K на машинном обучении и высокочастотном трейдинге — Часть 1

Давно изучаю трейдинг и торговлю при помощи софта/роботов. Вот это самый пикантный момент во всей истории:

«Я создал сразу несколько индикаторов, с помощью которых можно было подтвердить мою способность предсказывать движения цен в краткосрочном периоде.»

Это всё равно что написать: «Я нашёл банк, который в месяц со 100 долларов выплачивает 200 долларов в виде процентов, только где этот банк находится я вам не скажу». Упрощённо говоря, индикатор — это некая функция, которая принимает в качестве аргумента курс некого биржевого актива (на бирже их называют инструментами) и, используя некий алгоритм, строит дополнительный график на той же координатной оси где построен график курса и объёмов торгов этого актива. Цель индикатора — визуализировать моменты входа и выхода (открытия и закрытия позиции). Индикаторов существует множество, но суть их всегда схожа.

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

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

В биржевой торговле существует ряд известных документированных способов гарантированно получать небольшую, но прибыль. Если при этом научиться ещё и минимизировать издержки, можно выйти на некоторый гарантированный плюс. Но этот плюс при всём желании составит 15-20% годовых.

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

Монолог инкогнито с одной айтишной конференции

А я думал, интрига статьи в том, что её автор — и есть обещанный в программе мероприятий инкогнито миллионер.

Всемирная база паролей к сетям Wi-Fi на вашем мобильнике

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

Однажды был в кафе где додумались заблокировать Youtube (видимо из-за трафика). Правда, только по http, про https забыли. ))

Tribute to HIEW

HIEW в первую очередь полезен тем, что редактирует файлы напрямую, не создавая копий и сохраняя байтовую длину. Например, им очень легко заменить виндузовое 0Dh,0Ah на юниксовое 0Ah. Он и как дизассемблер хорош, много лет назад, когда доков было мало, я учился, например, писать софт под Sound Blaster 16 дизассемблируя соответствующие секции игрушек.

Мне трудно представить работу без таких привычных утилит как Hiew и Far Manager. Я ничего не могу без них, ни файл скопировать или распаковать, ни на FTP зайти, ни сайт написать на PHP. Люди же, воспитанные на более поздних оконных интерфейсах, иногда, видя Far, говорят мне: «А… Ты опять в этой своей синей табличке...»

2014 год глазами Айзека Азимова: предсказания из 1964 года

Речь о том, что обилие технологических новшеств будет обеспечивать необходимый минимум для человека, которого будет достаточно, чтобы он мог почувствовать себя комфортно и счастливым. В этом смысле, он сможет позволить себе меньше работать, т.к. «жизненный минимум» будет стоить дешевле за счёт доступности технологий.

Сейчас именно это и происходит, просто мы не замечаем. Помните, как 15 лет назад трудно было элементарно купить комп, а сейчас у любого студента по 3 девайса, пусть не топовых, но полностью функциональных. В конце 80-х видеомагнитофон стоил в СССР как автомобиль, сейчас у каждого из нас видеомагнитофон в кармане, итд. То же самое с мобильниками, которые, появившись, изначально были привилегией людей, купавшихся в частных бассейнах. А по мере того, как человек обеспечивает себя гаджетами, у него остаётся меньше вещей о которых можно мечтать.

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

Инициатива против снижения лимита покупок за рубежом с 1000 до 150 евро в месяц

Например, в сфере электроники могу привести такой пример: автосигнализации. Практически все они производятся в России.

Больше не вскидку ничего не вспомню… Всё остальное так или иначе из Китая идёт. Да и то, фирмы, монтирующие платы в России, можно сказать герои: у нас это производство обходится в любом случае дороже, чем в Китае. Цеха по производству плат и монтажу удаётся частично отбивать путём выполнения коммерческих заказов.

Инициатива против снижения лимита покупок за рубежом с 1000 до 150 евро в месяц

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

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

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

Инициатива против снижения лимита покупок за рубежом с 1000 до 150 евро в месяц

>> Да мне кажется, это Почта России так борется с завалами на складах.

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

Опыт создания робота. Часть 1

Отличный проект для начала! По разводке питания существует простое правило: питание разводится из одной точки на все нагрузки, и ни в коем случае не последовательно (от нагрузки к нагрузке). В вашем примере это сейчас не так ощутимо, но когда вы начнёте экспериментировать с более мощными двигателями, вы это сразу заметите по сбоям процессора. Лучше вообще сделать два отдельных стабилизатора (импульсных, для экономии энергии), их запитать от аккумуляторов, а от них уже отдельно питать силовую и электронную части. А в перспективе, когда исполнительные устройства будут слишком мощными и процессор будет сбоить от коммутации тока как такового, нужно будет использовать оптроны для создания 100% гальванической развязки.

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

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

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

Кстати, у упомянутого Lego Mindstorms в комплекте идёт ИК и ультразвуковой датчик. У меня это добро пылится на антресолях. :)

Пляски с бубном в новогоднюю ночь или вторая жизнь старых машин

Правильно, потому что коннекторы клавиатуры PS/2 и DIN-5 используют одни и те же сигналы. В отличии от мышки PS/2, которая по сигналам не совместима с предыдущим стандартом RS-232, хотя многие мышки в те годы выпускались универсальными: они поддерживали оба стандарта и могли работать со старым COM-портом через пассивный переходник, обнаруживая который, они автоматически переключались в режим последовательного порта.

Кстати, во времена активного радиолюбительства до появления USB коннектор клавы был популярен тем, что на нём присутствовало питание +5в от которого можно было через сквозной переходник питать внешние девайсы.

Information

Rating
Does not participate
Registered
Activity