Для интересующихся вопросами сознания, предлагаю небольшую выборку из книги Александра Невзорова «Происхождение личности и интеллекта человека. Опыт обобщения данных классической нейрофизиологии».
По заявлению автора, любые разговоры о «тайнах» мозга и «загадках» сознания возможны только при умышленной игнорации классических базовых доктрин нейрофизиологии. Вопрос сознания уже разрешен наукой и только невежды, по скудоумию своему, все еще продолжают млеть над воображаемыми тайнами, вместо того чтобы взять учебник и вдумчиво прочитать.
Поскольку тема квантовой запутанности всплывает все чаще, захотелось немного углубиться. Судя по комментариям к статьям о квантовой запутанности, не мне одному будет полезна данная информация. Ну и, с учетом того что для большинства из нас программный код гораздо удобнее всяких аллегорий – решено было представить мое понимание в виде кода.
Согласно распространенному мнению, технологическая сингулярность возникнет сразу после создания искусственного интеллекта, всецело превосходящего интеллект человека.
Наиболее очевидным шагом на этом пути является понимание принципов устройства уже работающего разума животных и человека.
Большинство функций нашего разума удается достаточно хорошо воспроизвести с помощью компьютера: компьютер умеет решать задачи по вложенному алгоритму, анализировать, распознавать зрительные образы, распознавать и генерировать речь, отвечать на вопросы и пр. Во многом еще хуже человека и животных, но прогресс есть.
Однако есть нечто, в чем компьютер бессилен – это способность к эмоциям. Речь не о внешнем их проявлении, а внутренней составляющей. Никакого прогресса, ни малейшей надежды на хоть сколь-нибудь примитивное их воспроизведение. Вообще ноль.
Корреляция между трудом и отдыхом на коротком промежутке времени прослеживается очень просто. Если ночь не спал — днем гудит голова, сложно сосредоточиться, работать практически не возможно (подчеркну, что здесь и далее речь идет об интеллектуальном труде).
А вот более длительные фазы, период которых составляет несколько месяцев, проследить значительно сложнее. Хотя эти фазы так же реальны, как и кратковременные фазы.
В прошлой моей статье про скорость работы с данными GAE был встроен графический счетчик показов. Каждый мог видеть значение счетчика и израсходованные ресурсы CPU. Как я уже говорил, счетчик был довольно «тяжелым»: создаваемая им нагрузка эквивалентна отображению на странице 1000 записей из базы данных без использования кеширования.
Эксперимент со счетчиком оказался весьма полезным, а его результаты несколько неожиданными для меня (отличными от запросов с одного IP-адреса). Хочу поделиться результатами эксперимента и поставить новый эксперимент, уже с учетом пройденных ошибок. Кстати, исходный код нового графического счетчика доступен для всех и приведен в статье.
Столкнувшись с вопросом выбора базы данных для проекта, провел небольшое исследование Google App Engine на предмет скорости работы с данными. Результаты исследования оформил в виде таблиц.
Эти подсчеты сэкономят время тем, кто ищет площадку для размещения своего проекта, но не уверен подходит ли ему Google App Engine. Кроме того эти таблицы можно использовать как некую «шпаргалку», чтобы примерно ориентироваться сколько времени займет обработка запроса и как его лучше оптимизировать.
Приватные ключи в системе Windows, как правило, сохраняются в специальном хранилище ключей. Работа с этими ключами происходит путем вызова функций криптографического провайдера (далее CSP). При использовании стандартного CSP (Microsoft Base Cryptographic Provider) ключи пользователя хранятся в папке C:\Users\[Vasia]\AppData\Roaming\Microsoft\Crypto. При использовании специальных устройств, ключи хранятся в памяти самого устройства.
Для повышения безопасности, было принято решение импортировать ключ WebMoney (тот самый .kwm, которым подписывают запросы к интерфейсам) в CSP. Обычно те, кто использует ключ для подписи запросов к WM-интерфейсам, хранят его либо в виде файла .kwm в файловой системе, либо в виде xml-представления – оба варианта не очень-то безопасны.
Это оказалось не так уж просто.
Детально о проблемах, с которыми вы столкнетесь, при повышении безопасности своего платежного сервиса, читайте под катом.
Примерно 2 года назад у меня возникла идея создания открытой библиотеки украинского стандарта электронно-цифровой подписи ДСТУ 4145-2002. Украинский стандарт, как и российский, основан на эллиптических кривых, но отличается в деталях.
С большим трудом был найден текст стандарта (странно, текст российского стандарта в свободном доступе) и вроде как дело осталось за малым…
За последние два года, к сожалению, удалось сделать очень мало: задача сложная, готовых открытых библиотек или примеров нет, времени мало. По этому было принято решение попытать счастья, вдруг кто-то захочет принять участие в проекте. Более подробно о проекте — читайте под катом.
Представляю сообществу простой, но полезный инструмент для управления полномочиями доступа к коду .Net сборок – Managed Sandbox. На утилиту советую обратить внимание НЕ только разработчикам, но и всем кто периодически использует .Net программы из не доверенных источников (с небольшими оговорками, но об этом ниже).
Статья состоит из 2-х частей: (1) немного философии о системе безопасности .Net-платформы, (2) описание утилиты Managed Sandbox и причин, почему нужно было ее создавать.
На основании своего личного опыта, выработал некую концепцию работы с исключениями. Данная концепция «заточена» для приложений, основанных на бизнес-процессах. Для системных и прочих программ она может оказаться малоэффективной. Т.к. я преимущественно использую .Net, то примеры иключений приведены для .Net-платформы.
Вот и появились первые плоды принятого в 2008 году закона Украины «об Электронных деньгах» — компания «Интернет.Деньги» сворачивает свою деятельность, ввиду отсутствия лицензии от Национального банка. Причем происходит это, как обычно в нашей стране, «без лишнего шума».
Как объявлено, плату за использование Windows Azure предпологается насчитывать по машинному времени (machine hours). По такой схеме сейчас работает Amazon EC2. Как только вы развернули свое приложение — включается счетчик, на показания которого не влияет то, насколько сильно ваше приложение нагружает сервер. За месяц работы в любом случае прийдется выложить около 90 долларов + плата за трафик и хранение данных.
А теперь сравните это с ценовой политикой Google AppEngine: плата взымается за процессорное время (CPU Time). Чем меньше ваше приложение нагружает сервер, тем меньше нужно будет платить.
Возникла необходимость сделать ASP.Net сайт, который бы выглядел красиво и в обычных (стационарных) браузерах и в мобильных. Причем достичь этого не за счет ограничения функционала и красивости версии для стационарных браузеров, а с помощью стандартных ASP.Net-овских определений в App_Browsers. Этот способ работает и в ASP.Net MVC-приложениях.
Хуже всего, когда для вашей программы создан генератор серийных номеров. Взломанные (переделанные) версии программ используют куда менее охотно – есть риск подхватить вирус или потерять данные. А вот когда есть возможность скачать подлинную программу с официального сайта и самостоятельно сгенерировать номер – это катастрофа для разработчика.