Мозг и когнитивные функции

среда, 5 декабря 2007 г.

Про футуру и архитектуру

Ранее, я работал в компании FutureTrade Rus. которую купила
Interactive Brokers Group о чем официально стало известно 20 ноября 2007 года. Покупка, к сожалению, состоялась по цене гораздо ниже ожидаемой и желаемой. Затем, стало известно о публикации в журнале. Про которую 'злые языки' говорят что она полностью заказная и предназначалась для 'набивания цены' объекту покупки. Трудно оспаривать источники инсайдеровской информации, да и не по мужски это.

Рассмотрим предмет продажи а не флуд вокруг сего факта, более детально с позиции архитектуры. Система в FutureTrade'е имеет полностью Java платформу как на стороне клиента так и на сервере. Бухгалтерские проводки, отчеты, импорты/эксопрты, тоталы и остальной 'backoffice' - рассматриваться не будет.

Архитектура в кубиках

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

Клиент общается со специализированными серверами frontend'а (которые называются 'Connection Server') по защищенному протоколу поверх TCP/IP. Клиенты имеют различные модули подключения к 'Connection Server'ам. Причем, каждый такой сервер подключения работает с клиентом по своему протоколу. Существовало решение (на тот момент когда я там еще работал) для протоколов: FIX (4.0-4.2), пропраитари протокол поверх TCP/IP и HTTP. Не зависимо от выбора протокола обеспечивается гарантированная доставка сообщений.

Connection Server - Java приложение, которое принимает от клиента сообщения в одном формате по конкретному протоколу и транслирует их во внутренний формат системы с последующей их передачей серверам backend'а (и наоборот). Поддерживает уровень сессии и отвечает за балансировку нагрузки при распределении сообщений между серверами backend'а (которые называются 'Execution Server'). Между серверами фронтенда и бекенда используется RMI/IIOP протокол. Причем, при проектировании я старался объединить приемущества Java удаленных вызовов RMI и транспарантность CORBA протокола. В результате получились быстрые удаленные вызовы лишенные недостатков RMI и использующие все достоинства IIOP.

Execution Server - Java приложение, которое отвечает за маршрутизацию сообщений, их обработку и диспетчеризацию ответов. Имеет бизнесс логику и связь с БД. Видоизменяет оригинальные сообщения пользователя и принимает решание по их дальнейшему распространению. Под сообщениями пользователя подразумеваются различные команды на покупку/продажу еквити, опционов, хомяков... Дальнейшее распространение сводится к передаче результирующего сообщения либо назад к клиенту либо к 'Transceiver' модулю для последующей передачи в точку назначения (NASDAQ,SOES,...). Передача осуществяется также по RMI/IIOP.

Transceiver - Java приложение, обеспечивает функциональность ассиметричную 'Connection Server'у. Получает сообщения в пропраитари формате и транслирует их во внешний формат с поддержкой уровня сессии и секъюрности. Типичный пример - FIX соединение с прайм брокером.

Архитекторы
Сие, как на этапе проектирования так и при дальнейшем развитии осуществлялось моими коллегами. Хоть и заказная статья в журнале 'Мурзилка' совершенно без деталей делает заключение о превосходстве архитектурных решений примененных в FutureTrade (в футуре) они, по крайней мере не ошибаются в неординарности и нестандартности таковых. Те кто построили такую архитектуру - это люди не побоявшиеся инноваций и отвечающие за свои слова и решения. Они не делают примеры из учебников и букварей по J2EE (хотя это они могут), они не строят 'классику' как истребитель в крыльях Люфтваффе под крышей, и мне приятно что я с ними работал!

Борис Беркман - технический директор и координатор всей технологии.

Клиент:
Валерий Иванов, Михаил Яковлев, Дмитрий Тарасов

Connection Server / Execution Server:
Александр Антропов, Павел Абушик

Transceiver:
Евгений Трунов, Алексей Антипин, Михаил Власов

Футура для футуры

Что ждет FutureTrade в ближайшее время? С учетом того, что их новый хозяин имеет много наработок и backend писанный на C++ и заинтересован в клиенте от FutureTrade и его кастомеровской базе, то самой большой глупостью будет потерять тех специалистов которые все это поднимали. Я не буду обсуждать намерения и уж тем более осуждать их. Но если новый хозяин хочет интеграции футуровского клиента со своими серверами, даже в этом случае (если новому хозяину не нужен backend) не нестандартность, но дальновидность архитектуры футуры поможет. Когда новый хозяин захочет клиента от футуры а сервера от себя, потребуется всего лишь подпилить компонент типа 'Connection Server' научив его работать с новым сервером по новому пропраитари протоколу. А заложенная в фундамент архитектуры CORBA позволит легко осуществить взаимодействие между Java Connection Server и C++ Execution Server :) Однако, если новый хозяин выкинет нахрен все наработки футуры и оставит только девелоперов - он потеряет но не проиграет.


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

понедельник, 19 ноября 2007 г.

myPicturetown upgraded to 1.2

http://www.mypicturetown.com
Задеплоили новую версию (1.2)

Из улучшений:
- багофикс
- перфоманс подтюнили
- красивостей (удобностей) добавили

пятница, 16 ноября 2007 г.

Ошибка в JDBC 3 драйвере к PostgreSQL

Пользовали JDBC 3 драйвер версии 8.0.39 к PostgreSQL 8.1 и наблюдали странную картину. Если делать запись в поле типа timestamp без тайм зоны то записанное значение иногда отличается на 1 час от того которое там должно быть.

Почему иногда:
Записи дат и времени до 2037 года и через драйвер и SQL скриптом с консоли приводят к одинаковым результатам и ошибки не возникает. Для дат и времени после 2057 года наблюдается такая картина. Зимнее время - записывается без ошибок. Летнее время на 1 час отстает. Пишем '2057-06-20 15:47:42.625' через драйвер получаем в базе '2057-06-20 14:47:42.625'. Если тоже записать через SQL консоль - ошибок нет.

Обновили драйвер до версии postgresql-8.1-410.jdbc3.jar - ошибки записи пропали, все работает.
Коллеги, будьте внимательны!

среда, 14 ноября 2007 г.

Нервные клетки заставят восстанавливаться

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

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

Далее...

среда, 7 ноября 2007 г.

OpenSocial API

Что это? Очередной концепт от гугловодов или реальная технология ускоряющая эру наступления Web 2.0?

Домашняя страничка содержит не только полезные ссылки, но и видеоролик с презентацией.

В самом общем виде - это технология интеграции сайтов с социальными системами типа MySpace и кучей других. Причем, ничего кроме HTML + JavaScript не потребуется. Очень заманчиво, не правда ли :) С другой стороны - это продолжение развития гуглогаджетов и, если последние у вас не прижились или были невостребованы, то, вероятно и новый API вы отправите туда же. Выбор за вами.

Client Side'2007

Конференция разработчиков клиентских интернет-технологий Client Side'2007 является первой ежегодной конференцией объединяющей в себе все технологии и направления, применяемые на клиентской стороне как компьютеров, так и мобильных устройств.

Официальный сайт конференции где можно наблюдать за прямой трансляцией.

вторник, 6 ноября 2007 г.

JMX - просто и понятно

Использование компонентов управления платформой Java

Следите за вашими приложениями Java SE 5.0
Уровень сложности: простой
Мэй Гловер Ганн, инженер-программист, IBM
Джордж Харли, разработчик программного обеспечения, IBM
Кэролин Гаф, инженер-программист, IBM

В последней версии платформы Java™ имеется несколько новых функциональных возможностей для мониторинга и управления. В данной статье трое разработчиков группы IBM Java Technology Centre помогут вам начать использование этого API. После краткого обзора пакета java.lang.management они рассмотрят несколько коротких практических сценариев для испытания производительности работающей JVM.

Далее...

Боты соревнуются, DARPA крышует



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

Далее...

пятница, 2 ноября 2007 г.

Анатомия сетевого стека в Linux


Одна из величайших возможностей операционной системы Linux® — ее сетевой стек. Он является производной стека BSD и хорошо оснащен добротным набором интерфейсов, которые варьируются от протоколо-независимых (protocol agnostic), таких как интерфейс уровня общих сокетов или уровня устройств, до специальных интерфейсов конкретных сетевых протоколов. В этой статье исследуется структура сетевого стека Linux с точки зрения его уровней, а также рассматриваются некоторые из основных структур.

Далее...

Самая мощная сеть распределенных вычислений Folding@home

Как сообщает "КОМПЬЮТЕРРА" сеть распределенных вычислений Folding@home занесена в Книгу рекордов Гиннеса. Статистика впечатляет.

четверг, 25 октября 2007 г.

Паукобот

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

Подробности...

пятница, 5 октября 2007 г.

Самураи Thread dump и deadlock'и

Кодекс Буси-до и Java, мало что общего?

Те кто занимался серверным программированием в Java, вероятно, знакомы с многопоточностью и проблемами синхронизации доступа к общим данным. Создание "правильных" приложений, которые не путаются в своих же 'synchronize' блоках требует некоторой подготовки от разработчика. Хуже, когда, карта синхронизации усложняется за счет использования чужих библиотек и классов. Так например, при работе с JGroups'овым RPC диспетчером НЕ следует в его callback методах вызывать сам диспетчер, потому что это приводит к гарантированным мертвым блокировкам которые никакой штатный механизм не отловит (я говорю о JMX полезностях из JDK 1.5 и выше). Впрочем, вы сами в состоянии привести множество подобных примеров. Конечно, бывает и путаемся в своих же "семафорах".

И все же deadlock. Что мы обычно делаем в таких случаях? Да - всеми способами стараемся получить дамп потоков ибо только "глоток керосина может спасти смертельно раненного кота". Анализ этого дампа - есть задача банальная и не интересная, тем более скушная, чем больше вы в своей жизни "вылечили" по таким дампам чужих (за свои не так обидно) дедлоков. Вот, кстати, алгоритм анализа дампа потоков.


Так, а причем здесь самураи?
А вот причем - так называется один из тулов для облегчения нашей задачи по анализу дампа: Samurai 2.1.1. На страничке также доступен JNLP запуск для Samurai. Конечно же средств облегчающих задачу анализа предостаточно. Не буду заниматься их классификацией и описанием приведу лишь еще пару ссылок.

1.3 release of TDA -Thread Dump Analyzer
и JNLP запуск для TDA.

Ну и Eclipse plugin Lockness.

Удачи Вам и будьте внимательны.

Коггерентность данных и стандартные схемы

Часто приходится сталкиваться с множеством "велосипедов" в различных архитектурах которые изобретают и переизобретают вновь. Между тем, такие "архитекторы", зачастую страдают банальной некомпетентностью. Что я имею в виду? А вот, что - когда выдумывается очередной концепт с нуля (как думает аффтар) и при этом, он (концепт) представляет собой убогое подобие некого кастрированного гибрида давно уже существующих и опробованных подходов. Т.е. концепт родился по причине незнания аффтара о существовании уже готовых решений. Готовое решение - это не закодированная функция, класс, ... а - алгоритм, подход, ... Конечно я не рассматриваю такие случаи когда концепт изобретается "сознательно" и по причине не применимости ничего уже существующего (это подразумевает глубокое изучение существующего с анализом недостатков и пр.).

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

четверг, 27 сентября 2007 г.

среда, 26 сентября 2007 г.

Робособака


Как сообщает NewScientist.com робот называемый "Маленькая Собака" был создан для US Defence Advanced Research Projects Agency (DARPA) компанией Boston Dynamics.

пятница, 14 сентября 2007 г.

Как определить, запущено ли Java приложение под отладчиком?

Для JDK1.5 я использую некоторые полезности из JMX API.
RuntimeMXBean позволяет получить доступ к JVM аргументам запуска, в которых ищется соответствующая опция "-agentlib:". Не очень "концептуально" и без использования JPDA.

public static boolean isRunningAsDebug() {
try {
RuntimeMXBean rtb = ManagementFactory.getRuntimeMXBean();
if (rtb!=null) {
List rtargs = rtb.getInputArguments();
if (rtargs==null||rtargs.size()==0) return false;
for (String arg:rtargs)
if (arg!=null&&arg.startsWith("-agentlib:")) return true;
}
return false;
} catch(Throwable err) {
return false;
}
}

четверг, 13 сентября 2007 г.

Люди - животные не просто социальные, а «ультрасоциальные»


Как сообщают Элементы, дети в возрасте двух с половиной лет справляются с задачами «социального» характера гораздо лучше обезьян, хотя в решении «физических» задач шимпанзе и орангутаны нисколько не уступают им. Это подтверждает «гипотезу культурного интеллекта» (the cultural intelligence hypothesis), согласно которой выдающиеся интеллектуальные способности, отличающие человека от животных, развились в связи с общественным образом жизни и с требованиями сложной и гибкой социальной организации. По-видимому, умственные способности наших предков в ходе эволюции развивались неравномерно: сначала развились социально-ориентированные навыки, а остальные «подтянулись» позже.

Поздравляю причастных с днем программиста!

День программи́ста — неофициальный праздник программистов, отмечаемый на 256-й день года. Число 256 (28) выбрано потому, что это количество чисел, которое можно выразить с помощью одного байта. В невисокосные этот праздник попадает на 13 сентября, a в високосные годы — на 12 сентября. (c) Wikipedia

Java программисты, соответственно, празднуют:
254-й день - как "-2"
255-й день - как "-1"
256-й день - как "0" :)

пятница, 7 сентября 2007 г.

Java кодеры не могут называть себя программистами?

Потому, что не только не понимают указателей и рекурсии, но существуют еще множество других причин.

Читайте, Java "лемминги" оригинал статьи от Джоэла Спольски.

Цитата:
...что Java в целом недостаточно сложна, чтобы отделить отличных программистов от посредственных. Может быть, это отличный язык для работы, но сегодня речь не об этом. Я даже могу зайти так далеко, что скажу — факт того, что Java не сложен, это особенность, а не ошибка — но это ведёт к данной проблеме...

среда, 5 сентября 2007 г.

JDBC - SQLException.getErrorCode() / PostgreSQL 8.2

Интересное поведение сабжа.

Ранее код типа

try {
...
} catch(SQLException err) {
rollback(conn);
if(err.getErrorCode()==23505) ...
else throw new ...
}

работал нормально для некоторых SQL серверов.
PostgreSQL начиная с версии 7.4 ВСЕГДА там возвращает 0.
Реальные коды ошибок описаны в документации.

Другими словами, при работе с постгресом следует применять ::getSQLState();

try {
...
} catch(SQLException err) {
rollback(conn);
if("23505".equals(err.getSQLState())) ...
else throw new ...
}


Удачи!

пятница, 31 августа 2007 г.

Ученые очистили мозг мышей от амилоидных бляшек

Генетически модифицированные клетки, имплантированные в мозг мышей, позволили удалить токсичные бляшки, возникающие при болезни Альцгеймера. Эксперимент проводила команда ученых из Женского госпиталя Бригэма и клиники Маклина, которые относятся к Гарвардской медицинской школе.

Оригинал статьи

Беспокойство - это неправильное употребление воображения

четверг, 30 августа 2007 г.

Halluc II



"Глюк два" был представлен публике 25 июля 2007 года.
Он имеет довольно необычный вид: у него, как и у предшественника, восемь ног, причём каждая из них заканчивается колесом. Эта изощрённая ходяче-катающаяся система позволяет перемещаться по разнообразным, даже очень неровным поверхностям и преодолевать различные препятствия.

Управляется робот дистанционно, и оператор может задавать "Глюку" три режима передвижения (по крайней мере, сейчас столько их спроектировано в настоящей модели): "Транспорт", "Насекомое" и "Животное"...

Подробности на: Membrana.ru

Nikon COOLPIX CONNECT 2 теперь стал "my Picturetown"

Upgrade завершен, сервера работают в номинмльном режиме, отвечают на новое доменное имя www.mypicturetown.com
Кроме повышения удобства пользования и появления новых типов аккаунта появился drag-n-drop. Все еще присутствует рудиментарный поиск, однако, появилась публичная регистрация. Ранее эта функция была доступна только для владельцев фотокамер Nikon Coolpix S50. Поддерживается просмотр контена с DoCoMo и BlackBerry телефонов. Официальный нотис ниже...


This is a notice to all registered
members of COOLPIX CONNECT 2.

================================================
Notice of COOLPIX CONNECT 2 Site Upgrade
================================================

Dear COOLPIX CONNECT 2 Member,

Thank you for your patience during the temporary
interruption of COOLPIX CONNECT 2 services.
We are pleased to announce that, with the site
upgrade, COOLPIX CONNECT 2 has become the
new my Picturetown!

We hope you will enjoy some new features of
my Picturetown, including slideshow and photo
publishing to external sites and blogs.

Residents of Japan and the U.S. can enjoy
my Picturetown on their DoCoMo and BlackBerry
phones. They can also sign up for a premium
account, which will provide up to 20 GB of
storage space.

Please visit my Picturetown at
http://mypicturetown.com to learn more about the
exciting changes that have taken place.
Remember to bookmark the URL so that you can
return to it easily in the future!

Thank you for storing and sharing your photos
with COOLPIX CONNECT 2. We hope to see you very
soon at the new my Picturetown by Nikon!


==================================
Imaging Company
Nikon Corporation
==================================

среда, 29 августа 2007 г.

Создатели руки скопировали анатомию человека

Фантастика стала ещё на один шажок ближе к реальности. Новая рука для робота — это замечательный пример комбинации принципов биомиметики и мехатроники. Увидев её, кто-то непременно вспомнит Терминатора, но изобретение должно найти массу мирных областей применения.

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

Полнотекстовый поиск включён в ядро PostgreSQL


Том Лейн (Tom Lane) сообщил, что патч, интегрирующий полнотекстовый поиск (ранее выполненный в виде отдельного модуля, contrib/tsearch2) в ядро PostgreSQL, успешно внесён в CVS. Безусловно, это ключевой момент в сложнейшем процессе принятия патчей для версии 8.3 (напомним, feature freeze был объявлен ещё 1-го апреля, т.е. с тех пор идеи по развитию функционала Постгреса не принимались и всё внимание разработчиков было поглощено процессом обработки уже предложенных патчей)...
Ссылка из linux.org.ru


Авторское неформальное описание полнотекстового поиска встроенного в PostgreSQL версии 8.3+, примеры и рекомендации по настройке. Также приведен справочник SQL команд для управления полнотекстовым поиском. Полное описание полнотекстового поиска доступно на сайте разработчиков [FTSBOOK].

Установка большого Linux-кластера


Создайте работающий Linux-кластер из множества отдельных частей аппаратного и программного обеспечения, включая системы System X и IBM TotalStorage. Это третья статья серии, в которой предоставляется первая часть инструкций по настройке системы хранения данных, включая подробную информацию об архитектуре системы хранения данных, требуемом аппаратном обеспечении и Storage Area Network.
Ссылка из linux.org.ru


Часть 3. Система хранения данных и файловые системы с совместным доступом
Грэхем Уайт (Graham White), специалист по системному управлению, IBM
28.08.2007

Введение

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

Оригинальная статья

Непризнанным гением может считать себя только признанный идиот.

вторник, 28 августа 2007 г.

Wicket 1.2.4 - опыт использования

Что это такое?
Строго говоря, Wicket относится к категории программных каркасов (application framework). Являясь надстройкой над Servlet API, Wicket предоставляет всю необходимую инфраструктуру для функционирования приложений, включая средства для управления жизненным циклом объектов, разграничения прав доступа, локализации, обработки исключительных ситуаций, поддержки сессий пользователей и т.п.

Более подробно и простым языком это описано в статье "Разработка Web-приложений с использованием Wicket".

Домашняя страничка проекта: http://wicket.apache.org/index.html

Основной список фичей: http://wicket.apache.org/features.html

Список компонент: http://wicketstuff.org/wicket13/compref


Опыт использования версии 1.2.4

Данный фреймворк пользуем более полугода в проекте фотошаринга для компании Nikon.

Из заявленного в рекламных слоганах правдой оказалось только одно - скорость выполнения. На тестах wicket показал скорострельность в 3-ри раза выше чем на JSF! На этом все :( Все остальное сводилось к обходу и "обманам" самого фреймворка для получения необходимой функциональности. Однако, стоит отметить, что некоторые компонены заработали сразу и не требовали "доработки напильником".

Реальные недостатки / неудобства можно перечислять долго, отмечу только основные. Причем, меня как не UI специалиста более интересовала backend часть (занимаемая память, быстродействие, и пр. мелочи).

Wicket API
Очень "концептуальный" API. Многие вещи можно было бы сделать гораздо проще и "прозрачнее", но это оставим на совести автора и идеолога Игоря Вайнберга. В силу того, что многие полезные методы у большинства классов объявлены как:
public final ...

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

Wicket AJAX Components
Многие AJAX компоненты уже готовы и их легко использовать, нежели писать с ноля на JSTL (любой другой подход проиграет по скорострельности). Заявляется, что все легко кастомизируемо... Это не так :( Например, готовый компонент wicket.extensions.markup.html.tree.Tree НЕ поддерживает применения произвольных стилей для того что бы он выглядел так как вы захотите. Они (стили) там просто захардкодены! Другими словами, если в вашем Web проекте CSS дизайн будет отличаться от предложенного Wicket'ом по дефолту - вас ждет много увлекательных путешествий в глубины концептуализма. Вероятнее всего, вам понадобиться сделать copy-past оригинального компонента, переобозвать его и переписать под свои нужды. Наследование, скорее всего не поможет по причине объявления многих методов как 'final'.

Wicket Session
Достоен внимания тот факт, что ЛЮБАЯ страничка в Wicket'е (ее инстанс) храниться в сессии в специальных PageMap компонентах. И при динамическом измении содержимого страницы в сессии создается ЕЩЕ одна копия новой стринички с новой версией. Т.е. существование так называемых stateless страниц (например простой статический HTML) идеалогия фрэймворка просто не допускает. Конечно, вы можете создавать такие и мапить пути к ним мимо Wicket сервлета (фильтра в последних версиях), но на этих страницах вы не сможете повторно использовать уже имеющиеся компоненты. Представьте себе HomePage который создается в виде объекта и сохраняется в сессии гостевого пользователя. В более поздних версиях (об этом ниже) допускается таки существование stateless страниц, но для них всеравно заведена отдельная fake сессия. Кстати, в тех же более поздних версиях аффтары научились выгружать (ObjectOutputStream) на диск из памяти те странички которые хранятся в сессии и подгружать их обратно.

Обратная совметимость по версиям
Это страшный сон! Достаточно взглянуть на инструкции по миграции. Для нас, например, перевод продакшина на последнюю версию 1.3 - НЕ приемлем. Причина банальна, потребуется переписать и перетестировать все наши кастомные компоненты под новый API.



Делайте выводы сами, коллеги, и учитывайте специфику своих проектов и необходимых AJAX компонент.

Ученые нашли новый прионный белок

http://science.compulenta.ru/330417

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

Linux and real-time Java power German traffic lights


Original text

A major European vendor of city-wide traffic management systems is porting its flagship traffic light controller to Linux and real-time Java. Signalbau Huber says its Actros controller will better meet safety-critical requirements after moving to Sysgo ELinOS/PikeOS 4.1 with Aonix's PERC real-time Java runtime.

Currently, Signalbau Huber's Actros controller is based on Debian GNU/Linux 3.2. Versions based on the new software implementation are expected to begin testing by year's end, according to Joachim Lock, R&D engineer. "The migration will enable us to move from several different CPUs to one CPU, [while] keeping security-critical functions and Linux separated," he explained.

понедельник, 27 августа 2007 г.

Nikon COOLPIX CONNECT 2 готовится к апгрейду


COOLPIX CONNECT 2

COOLPIX CONNECT 2 is a new, free photo management and sharing service from Nikon. Tightly integrated with Nikon's new wireless COOLPIX S50c camera, the service offers elegant and powerful features...



This is a notice to all registered users of COOLPIX CONNECT 2.

======================================================
Notice of COOLPIX CONNECT 2 Site Maintenance
======================================================

Dear COOLPIX CONNECT 2 Member,

We wanted to inform you that the COOLPIX CONNECT 2 website will be
going under maintenance/upgrade, and will be inaccessible for about 15 hours
starting from the following time:

Japan Standard Time: August 30th (Thu) 00:00
Greenwich Mean Time: August 29th (Wed) 15:00
Eastern Daylight Time: August 29th (Wed) 11:00

We apologize for any inconvenience this maintenance may cause.
If you have any questions or concerns, please feel free to contact us
through the information available on the Contact page of the
COOLPIX CONNECT 2 website. We will also provide you with further details
once the site upgrade is complete.

Thank you for choosing Nikon and COOLPIX CONNECT 2 for your photo management needs.



==================================
Imaging Company
Nikon Corporation
==================================

Роботы, которые видят, слышат, говорят и двигаются (с помощью Java)

Оригинал статьи

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


Краткое содержание:
- Причем здесь Java?
- Распознавание речи
- Синтез речи
- Визуальное восприятие
- LEGO Mindstorms Robotics Invention System
...
- Ссылки

Домашняя страница Java Speech API

Спецификация Java Speech Grammar Format

Спецификация Java Speech API Markup Language

Java Speech API JSR-113

Java Communications API

Java Media Framework API 2.1.1

Интерфейс Java/TWAIN

Домашняя страница Java 2D API

Домашняя страница Java Advanced Imaging API

Java Technology Robotics Developers Kit

Демонстрационный робот от Саймона Риттера

Speech for Java от IBM (реализация Java Speech API)

IBM ViaVoice

Домашняя страница LEGO Mindstorms


По материалам Steve Meloan
Подготовил Алексей Литвинюк

Электрошоковый Pac-Man помог исследовать страх

http://www.membrana.ru/lenta/?7599

Исследователи из британского фонда биомедицинских исследований (Wellcome Trust) впервые выяснили, как меняется реакция мозга человека на далёкую и близкую угрозу. Для опыта учёные использовали компьютерную игру, схожую с Pac-Man, только модифицировали её - если убегающего по лабиринту игрока "хватал хищник", человек получал удар током той или иной силы.

Архитектура распределенной сети Skype



http://www.xakep.ru/post/38543/default.asp

На атомарном уровне структура Skype-сети состоит из обычных узлов (normal/ordinal node/host/nest), обозначаемых аббревиатурой SC (Skype Client), и super-узлов (super node/host/nest), которым соответствует аббревиатура SN. Любой узел, который имеет публичный IP-адрес (тот, который маршрутизируется в интернет) и обладает достаточно широким каналом, автоматически становится super-узлом и гонит через себя трафик обычных узлов, помогая им преодолеть защиты типа брандмауэров или трансляторов сетевых адресов (NAT) и равномерно распределяя нагрузку между хостами. В этом и состоит суть самоорганизующейся распределенной децентрализованной пиринговой сети, единственным централизованным элементом которой является Skype-login-сервер, отвечающий за процедуру авторизации Skype-клиентов и гарантирующий уникальность позывных для всей распределенной сети.

Важно подчеркнуть, что связь между узлами осуществляется не напрямую, а через цепочку super-узлов. Серверов в общепринятом смысле этого слова (таких, например, как в сети eDonkey) в Skype-сети нет. Любой узел с установленным Skype-клиентом является потенциальным сервером, которым он автоматически становится при наличии достаточных системных ресурсов (объема оперативной памяти, быстродействия процессора и пропускной способности сетевого канала).

Каждый узел Skype-сети хранит перечень IP-адресов и портов известных ему super-узлов в динамически обновляемых кэш-таблицах (Host Cache Tables, HC-tables). Начиная с версии Skype 1.0, кэш-таблица представляет собой простой XML-файл, в незашифрованном виде записанный на диске в домашней директории пользователя.