чёрный плащ

Генезис одной ошибки.

В проекте на ПЛИС есть несколько модулей обнаружения последовательностей, которые нужно включать и выключать.
Организую свой тип шины включения/выключения

subtype RxCMDType is std_logic_vector(7 downto 0);

и задаю команды

constant RxCMDNoCommand : RxCMDType := (others => '0');
constant RxCMDRcvTS1 : RxCMDType := (0 => '1', others => '0');
constant RxCMDRcvTS2 : RxCMDType := (1 => '1', others => '0');
constant RxCMDRcvTS3 : RxCMDType := (2 => '1', others => '0');

.......

ну, и, соответственно, соответствующие биты снимают сигналы ресета на модулях приёма.
Когда нужно включить несколько приёмников делаю так:

Command <= RxCMDRcvTS1 or RxCMDRcvTS3;

я вот как-то сразу не обратил внимания на неинтуитивность такой команды и в пятницу за это расплатился. Написал с утра интуитивно понятное

Command <= RxCMDRcvTS1 and RxCMDRcvTS3;

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

constant RxCMDNoCommand : RxCMDType := (others => '1');
constant RxCMDRcvTS1 : RxCMDType := (0 => '0', others => '1');
constant RxCMDRcvTS2 : RxCMDType := (1 => '0', others => '1');
constant RxCMDRcvTS3 : RxCMDType := (2 => '0', others => '1');

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

Bullet Block Experiment или я облажался.

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

Копирастия — варварство XXI века

reposted by stebanoid
Профессор Джеймс Дж. О'Доннелл, историк из Джорджтаунского университета, обнаружил восхитительную особенность новой версии книжного магазина Google Play Books. Эта программа запрограммирована стирать с устройств пользователя любые легально купленные книги, как только владелец заходит в Интернет с иностранного IP-адреса, отличного от страны регистрации на Google Play. Вот описание проблемы от самого О'Доннела, вот пересказ на Boing Boing, а вот русская версия истории на Хабре.

Эта эпидерсия — очень хороший пример того, за какие новые права борются копирасты в цифровую эпоху.
О'Доннелл — не первый и не последний, кто столкнулся.
Если вы попробуете из-за пределов РФ послушать Яндекс.Музыку, или наоборот, воспользоваться из-за пределов США своей оплаченной лицензией за доступ к Pandora Radio, то сами сможете посмотреть, как оно работает.
В обоих случаях вас любезно пошлют со ссылкой на то, что права, приобретённые вами в стране А, не действуют в стране Б, где их нужно покупать с нуля и полностью заново у местного правообладателя.
Причём эти новые права станут точно так же недействительны, как только вы пересечёте границу в обратном направлении.

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

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

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

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

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

Схемотехника и генетика.

Оригинал взят у 1500py470 в Схемотехника и генетика.
http://www.sussex.ac.uk/Users/adrianth/
Кому интересно может прочитать об генетике в схемотехнике в первоисточнике
Evolutionary Electronics At Sussex

Artificial evolution, such as a Genetic Algorithm, has many promising applications in electronics. These range from using it as an optimisation technique as part of a fairly conventional VLSI synthesis pathway, through to using it to design automatically circuits that could be of a very different nature to the way electronics is normally envisaged. We also apply our philosophy of artificial evolution to other domains of design: we seek to find ways of allowing evolution to explore areas of the "design space" not normally accessible.

В журнале "Домашний Компьютер" №11 от 1 ноября 2002 года.
Автор: Киви Берд

fpga2(0)
Среди последних новостей компьютерных технологий промелькнул недавно один любопытный материал об эволюционирующей электронной схеме, которая совершенно случайно и независимо от воли изучавших ее поведение инженеров самостоятельно переизобрела конструкцию радиоприемника. Дело происходило в английском университете Сассекса (г. Брайтон), где около десяти лет занимаются проблемами эволюции самоорганизующейся электроники, и нынешняя история дает повод поближе познакомиться с этой областью компьютерных исследований.
Ближе к природе
В научных и инженерных кругах примерно с 1960-х годов циркулирует идея, что электроника могла бы эволюционировать к более совершенным компьютерам или роботам подобно тому, как в природе эволюционное развитие привело к появлению человека и других сложных биологических систем.
Биология вообще служит для компьютерщиков источником вдохновения. Опираясь на модели мозга, они создали нейронные сети, особенно хорошо проявившие себя в задачах распознавания образов - от рукописного текста до отпечатков пальцев. На основе принципов генетики были разработаны методы скрещивания и мутации программ, что позволило программам-потомкам конкурировать друг с другом в образовании «особей, наиболее приспособленных» для решения некоей конкретной задачи. Такого рода генетические алгоритмы успешно используются при эволюционной разработке программ во множестве самых разнообразных областей, будь то создание произведений искусства или выбор наиболее перспективных акций на фондовой бирже.
Однако в начале 1990-х годов у молодого англичанина Адриана Томпсона (Adrian Thompson), в ту пору аспиранта и сотрудника Центра вычислительной науки и роботехники Сассекского университета, сложилось убеждение, что таким технологиям не хватает одного весьма важного качества. Все они были слишком жестко ограничены правилами, изначально предложенными конструкторами чипов и разработчиками программного обеспечения. Например, поведение живых клеток-нейронов по сути своей неотделимо от особенностей биохимических процессов, протекающих в них. А вот для чипа, моделирующего искусственную нейросеть, абсолютно безразлично, из какого материала состоит микросхема, поскольку вся конструкция функционирует в цифровом режиме.
Цифровые компьютеры представляют любые данные в виде последовательностей единиц и нулей, хранящихся в ячейках памяти в виде «вкл.» или «выкл.». Поэтому и транзисторы в чипах работают как переключатели - они либо «включают», либо «выключают» цепь. Но ведь по внутренней своей природе транзисторы не цифровые, а аналоговые устройства. Между «вкл.» и «выкл.» они последовательно проходят через разные состояния и в этих интервалах могут, к примеру, работать как усилители. Однако конструкторы компьютеров такие свойства транзисторов обычно игнорируют и практически не используют. Аналогичным образом и программисты ограничены цифровой природой компьютеров. Программа - последовательность логических инструкций, которые машина применяет к единицам и нулям по мере того, как те проходят через ее схемы. А потому эволюция, что моделируется генетическими алгоритмами, происходит лишь в крайне искусственном мире, порожденном языком программирования.
Что же произойдет (задался однажды вопросом Томпсон), если бы стало возможным снять цифровые ограничения и применить эволюционные принципы природы непосредственно к аппаратному обеспечению? Сумеет ли эволюция воспользоваться всеми электронными свойствами кремниевых компонент таким же образом, как она использует биомолекулярные структуры? Удастся ли и здесь эволюционными методами создавать новые конструкции? Ответить на все эти вопросы можно было лишь в том случае, если бы удалось найти способ объединения «влажных» процессов эволюции с «сухим» миром кремниевых чипов.
Как это нередко бывает в истории научных исследований, вместе с правильно поставленным вопросом довольно скоро появился и способ его решения. Именно в это время начала обретать популярность новая технология - микросхемы FPGA, созданные фирмой Xilinx, или Field-Programmable Gate Array - вентильные матрицы с перепрограммируемой пользователем логикой. По всей видимости, впервые конструктивную мысль об использовании микросхем FPGA для «эволюции хардвера» высказал в 1992 году ученый Хьюго де Гарис (Hugo de Garis) - весьма экстравагантный персонаж, одновременно стяжавший славу визионера, разработчика необычных «самообучающихся искусственных мозгов» и проповедника крайне эксцентричных идей «компьютерного космизма». Независимо от него примерно в то же самое время на чипы FPGA вышел и сугубо прагматичный Томпсон, которого интересовала вполне практическая задача - новые методы конструирования электронных схем.

Чудо превращения
В обычном микропроцессоре транзисторы намертво зашиты в схемы логических вентилей, выполняющих обработку. В микросхеме же FPGA все не так - здесь логические вентили и их межсоединения можно менять по воле пользователя. Транзисторы микросхемы расположены в виде массива логических ячеек, так что простой загрузкой новой программы в память чипа можно подключать каждую из ячеек к любой другой, формируя вентили по собственному желанию. Другими словами, простой замены программы бывает достаточно, чтобы модем, к примеру, превратился в звуковую микросхему.
Понятно, с таким устройством оказывается несложным организовать и моделирование эволюции при помощи генетического алгоритма. Для этого создается некая популяция конструкций - или попросту схем соединения элементарных ячеек. Каждая «особь» по очереди испытывается на приспособленность (fitness) к выполнению поставленной задачи, после чего наименее приспособленные отсеиваются, оставшиеся скрещиваются, мутируют, ну, и так далее, как это принято в генетических алгоритмах. Правда, если FPGA работает в стандартном режиме цифрового устройства, никакого принципиального отличия от обычного компьютерного моделирования мы здесь не получим. Революционность идеи Томпсона состояла в том, что для получения радикально новых результатов необходимо снять традиционные ограничения, то есть, по сути дела, нарушить «инструкцию по эксплуатации» чипа FPGA, позволив ему функционировать как аналоговому устройству. Прежде всего, Томпсон убрал генератор тактовой частоты, чтобы динамика системы из дискретной стала непрерывной, более напоминающей биологическую. И уже в первых экспериментах удалось получить крайне интересные результаты.
Исследователи поставили перед системой задачу эволюционного выведения схемы, способной различать два сигнала разной частоты - 1 кГц и 10 кГц. Для этого в FPGA выделили совсем небольшой участок - матрицу размером 10х10 ячеек.
FPGA02 FPGA01

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

FPGA04
Количество активных элементов схемы оказалось намного меньшим, чем понадобилось бы при обычном цифровом использовании FPGA.

FPGA05
Как же в процессе эволюции система сумела это сделать - различить разного тона периодические сигналы, не имея «часов», т. е. тактовой частоты синхрогенератора? При изучении окончательной схемы было обнаружено, что входной сигнал направлялся через сложную систему петель обратной связи. Предположили, что таким образом создавались модифицированные и задержанные по времени версии сигнала, которые как-то взаимодействовали с исходным сигналом, что и позволяло схеме различать два тона разной высоты. Но, по правде говоря, признавался впоследствии Томпсон, так и не удалось выяснить, как в действительности это работает?
Вполне очевидным было лишь одно - FPGA работал в аналоговой манере. Вплоть до финальной версии схемы порождались аналоговые волновые сигналы, а не строгий дискретный выход в виде напряжения 0 или 5 Вольт. Причем конструкция найденного решения оказалась в высшей степени интригующей. Из выделенных изначально 100 ячеек в итоге для функционирования схемы оказалось задействовано лишь 32. Остальные можно было убирать, что никак не меняло работу конфигурации. При этом 5 ячеек из оставшихся 32 вообще не выполняли никаких логических функций, способных влиять на выход (на рисунке они затенены серым цветом).

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

«А что у неё внутри?»

Для разрешения этой загадки исследователям требовалось измерять величину сигналов на входах и выходах каждой из ячеек в процессе работы схемы. Однако конструктивные особенности чипов FPGA позволяют получать лишь цифровой доступ к этим точкам, так что аналоговые значения замерять практически невозможно. Тогда приятель Томпсона, Пол Лэйзел (Paul Layzell), решил создать специальную эволюционирующую системную плату, которая позволяет определять параметры работы всех элементов схемы с помощью аналоговых инструментов. На базе именно такого прибора «железная эволюция» и переизобрела недавно радиоприемник, о котором говорилось в начале статьи.
Пол Лэйзел и его коллега Джон Берд (Jon Bird) создавали эволюционную компьютерную программу, чтобы несложная электронная схема самостоятельно модифицировала себя в осциллятор, т. е. устройство, дающее на выходе качественный периодический сигнал синусоидальной формы. Схема, на которой проводились эксперименты, состояла из 10 транзисторов, чьи межсоединения можно программно перекоммутировать самыми разными способами. Каждая такая коммутация рассматривалась алгоритмом в качестве «гена», и после нескольких тысяч мутаций электронная схема действительно преобразовала себя в осциллятор с выходным сигналом правильной формы. Однако при анализе результата быстро обнаружился факт жульничества - на самом деле схема не генерировала синусоиду самостоятельно, а брала сигнал от излучений стоявшего поблизости компьютера, выдавая его на выходе как собственный.
Больше всего поражал тот факт, что для работы радиоприемника-самородка требовалась антенна, а такого рода деталь отсутствовала в экспериментальной схеме в принципе. Поскольку в данном случае электроника допускала проведение более тщательного дознания, было установлено, что роль антенны взяла на себя длинная цепь в системной плате. Но то, каким именно образом эволюционировавшая схема научилась пользоваться этой цепью как антенной, так и осталось загадкой. Очевидно, неисповедимые пути случайных мутаций вывели на «гены» приема эфирных радиочастот, после чего те и закрепились в «генотипе».

В жару и в холод

Адриан Томпсон последние годы занимался несколько иными проблемами. Сразу после того, как стало очевидно, что хардверная эволюция способна приводить к конструктивно неожиданным, но вполне работоспособным решениям, возник вопрос - насколько эти решения надежны при их переносе на другие схемы и массовом тиражировании? Для проверки Томпсон загрузил наилучшую конфигурацию своего «распознавателя двух сигналов» в другой участок матрицы FPGA-чипа с тем же размером 10х10 ячеек. Оказалось, там схема работала весьма ненадежно, однако другой вариант последнего поколения решений функционировал заметно лучше. В результате для поиска наиболее приемлемого решения пришлось экспериментировать с параллельной эволюцией на нескольких участках чипа, на разных чипах одновременно, а также на чипах одной фирмы, но выпущенных на разных фабриках.
Помимо очень сильно разветвившейся задачи одного рода, обрисовалась и другая серьезная проблема. Электронные схемы должны работать в достаточно широком температурном диапазоне. Так, для обычных микропроцессоров рабочий диапазон простирается примерно от -20 до +80 по Цельсию. Эволюционные же схемы имеют тенденцию более-менее прилично работать лишь в узком интервале порядка 10 градусов в диапазоне комнатной температуры в лаборатории. Скорее всего, это связано с тем, что температура влияет на емкость, сопротивление и другие электрические характеристики компонент. Но каковы бы ни были причины, температурная чувствительность - серьезный недостаток схемы общего назначения, которая в идеале всегда должна быть дешевым и неприхотливым устройством, потребляющим минимум энергии и не требующим дополнительных термоконтроллеров. Для решения проблемы на помощь опять были призваны эволюционные алгоритмы, позволившие, помимо прочего, сделать еще одно большое открытие в области разработки новых конструкций: экспериментальным путем установлена важнейшая роль так называемой «нейтральной эволюции».
Исследователям было ясно, что при отыскании стабильного решения для функционирования в разных условиях требуется множество чипов, одновременно работающих в разных условиях: один, грубо говоря, в печке, другой - в холодильнике и т. д. При этом чипы должны быть электрически изолированы друг от друга для предотвращения взаимного влияния. Столь серьезные ограничивающие факторы означают, что наиболее разумной оказывается простейшая эволюционная стратегия, когда в каждый момент времени происходит лишь единственная мутация, а не перестройка всей конфигурации системы. Если единственная мутация вызывает снижение «пригодности», то ее отвергают, в противном же случае - принимают. По сути своей это просто алгоритм случайного поиска экстремума функции с допущением нейтральных ходов, которые, как выяснилось, являются жизненно важным компонентом эволюции.
Построенный эксперимент закончился вполне реальным успехом, когда схеме удалось найти надежную «всепогодную» конструкцию, которая не могла быть получена на основе общепринятых принципов разработки. Каждый раз, когда поиск заводил систему в зону локального оптимума и, казалось, нет никаких возможностей для совершенствования, схеме позволяли пройти через тысячи нейтральных мутаций, не повышающих пригодность, но слегка меняющих состав компонент. После чего находилась единственная мутация, приводящая к новому заметному улучшению параметров. И так повторялось несколько раз. Нейтральный дрейф уводил от схемы, которую невозможно было усовершенствовать изменением единственного гена и, в конечном счете, приводил к отысканию положительной мутации.
Формат этой статьи позволил рассказать лишь о небольшой части интереснейших работ, ведущихся сегодня в области эволюции электроники научно-исследовательскими лабораториями мира. По данной теме уже несколько лет устраиваются ежегодные международные семинары и конференции, спонсорами исследований выступают ведущие компании телекоммуникационной и компьютерной индустрии, поскольку экспериментальные результаты и разработка теории эволюционных конструкций обещают вполне ощутимые практические выгоды. Поэтому вполне вероятно, что в обозримом будущем в наших сотовых телефонах, карманных компьютерах и другой микропроцессорной технике будут работать удивительные схемы, самостоятельно развившиеся в процессе «железной эволюции».

чёрный плащ

О круговом движении и английском слове "Roundabout"

Оригинал взят у dr_corner в О круговом движении и английском слове "Roundabout"
Перекрестки с круговым движением мне всегда нравились. И как-то так получается, что они постоянно проскакивают у меня в постах (и про нарушителей-пешеходов, и про кольцо на Ставропольской, и про развязку там же). Круговое движение - штука простая, как тапок. К тому же, вполне эффективная. Казалось бы, что еще можно выдумать с круговым автомобильным движением? Но нет! Развитие не остановить! :) В журнале terrific_jams я встретил интересную штуку - следующее поколение круговых перекрестков. Даже сразу несколько поколений. И эффективность кругового движения можно увеличить, и безопасность повысить... В общем, представляю вашему вниманию изобретение западного мозга под названием "Roundabout". (Изобретение, надо признать, уже древнее, но до нас всегда медленно доходит :) ) Под катом про эту интересную штуку.
Read more...Collapse )

Откуда берутся пробки?

reposted by stebanoid
Ну что сказать? :) Это ПЯТЬ!))
Пробки там, где есть люди в машинах :) С этим ничего не сделать. только убрать людей из машин. Или хотя бы уменьшить их количество...



Оригинал взят у daniilk в Traffic shockwaves



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

Как обычно радуют комментарии, вроде "bullshit. asians driving in a circle and no one was drifting".




Хорошего вам завершения недели! И да минуют вас пятничные пробки! :)

Идеальная улица

reposted by stebanoid


Сегодня я расскажу вам про идеальную улицу на примере бульвара Лефебвр в Париже. Конечно, когда я говорю "идеальная", это не для того, чтобы вы начали искать на фотографиях изъяны и тыкать меня в них. Найти изъян можно всегда и везде. Это скорее для того, чтобы вы посмотрели, как может строиться улица в городе, где думают о комфорте и безопасности пешеходов. К сожалению, в России я не знаю ни одной улицы, которая была бы такой удобной, красивой, аккуратной и комфортной. И я не говорю сейчас специально про историческую застройку, которая зачастую вытягивает даже самую невзрачную улицу. Я говорю про планирование тротуаров, проезжей части, переходов, элементов пешеходной инфраструктуры.

Read moreCollapse )

Забавный случай в Шереметьево-D

reposted by stebanoid
Пожалуй, самая остроумная промо-акция «Аэрофлота» на моей памяти случилась в Шереметьево сегодня днем.
После вброса о том, что Эдвард Сноуден вылетит из терминала D бортом SU150, несколько десятков журналистов взяли билеты на этот рейс до Гаваны.

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

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

А я, поскольку не принимал участия в охоте на Сноудена, пожалуй, внесу свою пару копеек в кассу безудержного аэрофлотовского пиара. Был я сегодня на сайте этой прекрасной компании, интересовался билетами из Питера в Москву на завтрашний вечер. Кто не в курсе, там 600 км и час лету. Вот какие я получил заманчивые предложения:
Цены на рейс Аэрофлота из Питера в Москву
Для сравнения. Компания EasyJet предлагает на тот же день билеты из Москвы в лондонский Gatwick по цене $238 за дневной рейс и $190 за вечерний. Осмелюсь предположить, что керосин обе авиакомпании закупают по одной цене.

Видимо, у несоветских буржуинов в стоимость билета не входит ни SMM от Апостола, ни PR-акция со Сноуденом.