Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

Фотографов продолжают заскриптовывать

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

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

Компьютерная грамотность

Тонкий интерфейс


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


Реклама Apple Macintosh Portable, 1989

Ещё ссылки на 2 копии, а то видео, вставленное в оригинальный пост, удалили:


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

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

Эволюция от выживания к жизни


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

Крупные компании без ущерба для себя и нас теперь имеют техническую возможность собирать статистику и анализировать свои интерфейсы, имея данные о миллиардах кликов! И если они этим пользуются, то могут чуть подвинуть кнопки в новой версии, чтобы мышь проходила меньшее расстояние; увеличить часто используемые элементы, объединить частые последовательности действий...

С определённого момента, когда все основные программы уже написаны, незадействованные мощности IT-специалистов можно пускать на улучшение уже имеющегося ПО. И чем дальше мы продвигаемся по временной оси, тем больше сил будет направленно именно на улучшение взаимодействия с ПК.

Что нового появилось в старых версиях компьютера (будем рассматривать программно-аппаратный комплекс)? Возможность хранить файлы! Командная строка как у хакеров вместо ввода с перфокарт! Цветной монитор! Доступ в Интернет! Проигрывание аудио без тормозов! Проигрывание видео без тормозов! Игры!

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

Что нового появилось в новых версиях компьютера? Более быстрый доступ к файлам. Более быстрый доступ в Интернет. Хранение файлов в Интернете. Проигрывание аудио из Интернета. Проигрывание видео из Интернета. Более быстрый доступ в Интернет. Поддержка более нового стандарта беспроводной связи, проводной связи, шины данных.

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

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

Мануалы не нужны


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

Уже сейчас гугление ответов на stackoverflow популярнее инструкций к библиотекам. Почему? Потому, что исключается лишняя абстракция.

Изучение библиотек не нужно


Как это работает?
  1. Имеется пространство задач (то, что должна уметь библиотека)
  2. Программист A находит базис X в пространстве задач и реализует его (создаёт модель задачи, проектирует программные интерфейсы
  3. Программист A описывает базис X словами (создаёт документацию по каждому классу/методу Xi
  4. У другого программиста B появляется задача Y = &Sigma ai Xi, причём ai неизвестны.
  5. Программист B подмечает, что библиотека X ему поможет (видно, что задачу как-то можно решить с помощью библиотеки X, т.к. она делает что-то подобное)
  6. Программист B изучает все Xi и находит координаты Y в базисе X (изучает документацию, понимает философию библиотеки и пишет программу)


Слабые места в этом алгоритме –
  1. Необходимость изучения посторонней библиотеки при имеющихся знаниях синтаксиса языка, принципов работы того, на чём построена библиотека.
  2. Неспособность понять философии библиотеки и эффективно её использовать. Любой человек ограничен умом. Программист A с большой вероятностью может сделать неоптимальную библиотеку с неэффективным интерфейсом, программист B с большой вероятностью может не осознать всех принципов и взаимосвязей.


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

Переформулировка задачи не нужна


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

Часто программист, когда сталкивается с чем-то новым, вообще не знает, что ему нужно. Он идёт как бы напролом и неправильно группирует свои действия. Как программист, он разделяет свою задачу Y на Y1 и Y2, т.е. находит некоторый свой базис исходя из имеющегося опыта (который не работает в случае в новой библиотекой X) и спрашивает на форуме. Ему задачу раскладывают по басису X и отвечают:
Y1 = a X1 + b X2 + c X3
Y2 = -a X1 - b X2 + d X3
Оказывается, что проблема решается стандартными средствами, и решить её как целое легче, чем неправильно разложить на подзадачи и решать уже их. Меньше разложений по базису и смен координат.

К сожалению, сообщество стимулирует бездумное поведение и имитацию бурной деятельности. Приходит человек на форум, спрашивает, как сделать Y. Ему говорят, что это элементарно, и надо просто погуглить. Или что вопрос слишком общий, нужен поконкретнее. Он гуглит, ничего не находит, разделяет задачу на подзадачи, спрашивает про подзадачи, ему отвечают по каждой в подробностях, потом интересуются, зачем это. Человек говорит "для Y" и ему тут же сообщают "Да так бы и сказал, это (c+d) X3!" В дальнейшем человек приспосабливается и задаёт совершенно бесполезные конкретные "умные" вопросы.

И вопрос "я хочу реализовать Y" превращается в "я хочу понять X". Заметим, что задача из описания заказчика уже перетекла в какое-то её понимание руководителем отдела разработчиков, сформулирована в письменном виде, как-то понята и смоделирована конкретным программистом, который уже готов исказить этот поток информации ещё несколько раз, выразив своё понимание на языке программирования, который он знает как свой родной язык, либо перевести свои идеи с языка программирования в метаязык библиотеки.

Аналогично с примером с форумами, здесь архитектор может сделать неудачную модель задачи заказчика (наклонить базис куда попало) а программист – неправильно выразить её в терминах ЯП (создать ещё одну систему координат под другим углом). В итоге решение задачи будет гораздо более сложным, чем если бы заказчик сам написал программу.

Это ненужное искажение информации, ненужные затраты по изучению чёрт знает чего.
Гораздо удобнее, когда знаток библиотеки X сам разложит твою задачу по её базису. Он сделает это по определению оптимальнее тебя, т.к. он уже осознал X, а также не будет совершать лишних действий по изучению X, т.к. он уже осознал X. Это банальная окупаемость. Если мне нужно один раз доехать к другу в гости, я вызываю такси за 500 рублей. Если мне нужно ездить к нему раз в день в течение двух лет, я покупаю велосипед за 10000 рублей.

Кроме наличия экспертов, stackoverflow предоставляет нам базу реальных примеров. Автору библиотеки придумывать их - нестерпимая мука и занятие бесполезное. А вот сообщество может сформировать её довольно легко исходя из собственных потребностей!

Языки программирования не нужны


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

Заказчику нужно автоматизировать некоторую задачу. Ему не нужно, чтобы кто-то изучал библиотеку X и ЯП Z (это дорого и не всегда окупается), ему нужно автоматизировать свою задачу. Лишние прослойки вроде программиста, языков программирования, компьютеров и даже программ не нужны. Если бы заказчик мог купить решение задачи, он бы его уже купил и радовался, а не звал бы кого-то.

Проще метаинтерфейс – проще интерфейс


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

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

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

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

Модульность для ограниченных или философия компиляции


Почему мы используем модульность? Потому, что это универсально, удобно? Потому, что можно заменить один модуль и не трогать всю систему?

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

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

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

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

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

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

Люди не смогли сразу выполнить свои задачи, поэтому разделили их реализацию:
  1. Пользователь формально описывает задачу
  2. Разработчик создаёт программу
  3. Пользователь общается с программой
  4. Программа выдаёт результат

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

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

Планы на будущее


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

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

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

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

Почему вам нужна ручная фокусировка

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

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

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

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

Аналогично (раз уж на то пошло, отвлекаться - так отвлекаться), народ покупает себе SSD для ускорения и старается на него поменьше писать, чтобы не испортить. Переносят какие-то файлы на HDD, тряпочкой протирают. Ну как можно! Ты же купил SSD, чтобы он работал и было быстрее? Ведь так? А зачем теперь ты пытаешься облегчить ему жизнь и пишешь на HDD? Зачем ты, идиотина, экономишь и замедляешь систему, когда только что заплатил приличные деньги ради ускорения?

Впрочем, пора вернуться к теме. Иногда больших дядь и тёть стоит послушать.

Почему вам нужна ручная фокусировка



Потому, что есть ситуации, когда объектов в кадре много, они равнозначны, и только автор может решить, что же ему хочется выделить на этот раз.



Пытаемся сфотографировать капли на ветке, Sony SEL-1850: 18-50мм f/4~5.6, полностью автоматическая фокусировка.


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



Пытаемся сфотографировать капли на ветке, Michael Lens 35мм f/1.7, автофокуса нет в принципе.


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

Виртуальный WiFi в Windows 7

Таки это не вполне пост, а просто место, концентрирующее знания.

Источники: статья Windows 7: Виртуальный WiFi в действии, помощь по netsh, donatello16, Mikenik.

Команды для управления размещенной сетью



netsh wlan set hostednetwork [mode=allow/disallow] – разрешить или запретить использование сети
netsh wlan set hostednetwork [ssid=<идентификатор_SSID>] [key=<парольная_фраза>] [keyUsage=persistent/temporary] - настройка параметров сети, где SSID – SSID-идентификатор сети; key - используемый сетью ключ безопасности (пароль); keyUsage – указывает, является ключ безопасности постоянным или временным
netsh wlan show settings – показывает свойства сети и ее состояние
netsh wlan show hostednetwork settings=security – отображает параметры безопасности размещенной сети, в том числе показывает пароль, заданный в key при настройке netsh wlan set hostednetwork
netsh wlan start hostednetwork - запустить размещенную сеть
netsh wlan stop hostednetwork - остановить размещенную сеть.


Чтобы сеть заработала на практике


Вполне достаточно написать для того, чтобы работало:
netsh wlan set hostednetwork ssid="name" key="password" keyUsage=persistent mode=allow
netsh wlan start hostednetwork


После перезагрузки, выхода из пользователя или погружения в сон, сеть не запускается.
Поэтому, идём в планировщик и настраиваем автоматический запуск: Компьютер → Управление → Планировщик заданий → Создать задачу
Общие: по идее надо поставить "выполнять с наивысшими правами"
Триггеры: при разблокировании рабочей станции, при входе любого пользователя, при запуске
Действия: создать действие: программа или сценарий - netsh, параметры - wlan start hostednetwork
Условия: убрать флаг "запускать только при питании от электросети"

Итак, всё работает. Не трогать.

Чтобы отключить


Чтобы отключить, достаточно от имени администратора выполнить netsh wlan set hostednetwork mode=disallow.
Чтобы включить обратно, нужно netsh wlan set hostednetwork mode=allow, а потом запустить сеть.

Если вы хотите использовать компьютер как точку доступа


netsh wlan set autoconfig enabled=no interface="Беспроводное сетевое соединение" - отключает автосканирование (после этого Windows не сможет автоматически подключиться ни к одной беспроводной сети из указанного интерфейса; если Вы переименовали основной беспроводной интерфейс, впишите его имя)

дядя Лёша и искусственный интеллект

Примечание 1: если Вы ищете душевность и теплоту воспоминаний, как в предыдущем рассказе про дядю Лёшу, Вы их найдёте. Но не ищите разумности, не надо.
Примечание 2: рассказ написан только что и пока ни разу автором не читался. Поэтому, оставляйте свои комментарии и списки ошибок, да.

Плутоний - вот что это за место. Под землей нет звезд.
(Трошин М.С., Идеальный Плутоний)

В одно время я стал плохо засыпать. Волновался я уж очень. Сейчас и не упомню, по какой причине, но спал плохо. Тогда у нас ещё замок сломался, и мама меня укладывала поближе к двери. Папа спал всегда крепко, мама - тоже. Оксанка - собака наша - так вообще порой не замечала, как её во сне из коридора куда-нибудь в угол уносили. Правда, когда засыпала, расположение своё запоминала, потому, просыпаясь, со всей дури втыкалась в стену, думая, что ещё в коридоре находится.
Мы так бабушку однажды в больницу свезли. Нет, не потому, что всей семьёй её во сне двигали, нет. Она бы за это нам такое устроила... Дядя Лёша, человек военный, штаны бы пошёл менять.
Просто как-то раз бабушка увидела Оксанку, уверенно проходящую сквозь стену и от смеха расплакалась. Минут десять смеялась, не переставая. Что-то у неё там потом заело - не могла она остановиться. Пришлось в больницу её отправить. Кстати, её уж выписали. Года три назад. Просто сказали нам, что смех продлевает жизнь и побыстрее стали двери закрывать. А бабушка с того года нисколько не изменилась.
Хотя, речь не о бабушке. Спал я в то время плохо, а мама кровать мою поближе к входу поставила - чтоб реагировал, если кто придёт уксус воровать. Или компьютеры. Хотя, уксус в то время как-то реже встречался. Хранили его в больших бутылках с резными горлышками и серебрянными пробками. Чем уксуса больше, тем дом богаче. Как только гости приходили, все уважающие себя люди выставляли уксус на видное место и наказывали кому-то из семьи смотреть за тем, чтобы гости не дай Бог крышку серебрянную себе в карман не свинтили и уксуса не отпили.
Не все в то время могли позволить себе покупать уксус, потому шли на хитрость. В рукаве пропускалась маленькая трубочка, которая вела к насосику и ёмкости. При выходе из дома каждый уважающий себя не одарённый финансами человек проверял, свежие ли батарейки и не сломался ли ещё насосик. Затем всё это бережно маскировалось. Наверное, все уже поняли, почему тогда были так популярны пышные бюсты, высокие причёски, широкие плечи, большие животы и штаны "иду на картошку". Выпячивая вперёд ёмкости для уксуса (ну, как думали все - плечи, животы, ...), они отвлекали "часового" (нужно сказать, обычно это был самый слабы и неопытный член семьи, поскольку остальные должны были подавать гостям новые блюда и вообще заниматься делами) и, запуская руку в бутылку, высасывали, сколько позволяла совесть. Ну то есть... Сколько позволяли плечи, бюсты, штаны...
Как только приближался кто-то из хозяев, хитрецы делали вид, что изучают внешний вид бутылки и оценивают запах содержимого, хозяева гордились и рассказывали о том, какой это редкий букет и, где они нашли столь элитный уксус. Пока они рассказывали, уксус всё убывал и убывал.
Понимая, что хозяева скоро прекратят хвалиться, да и уксус уж подходит к концу, хитрецы заливали в бутылку нечто своё через другую трубочку. В отличие от количества, совести и ситуации это были вода, уксус низкого качества, разбавленная лимонная кислота или бензин.
Когда у нас заканчивался бензин, мы наливали в бутылку от уксуса воду и приглашали Смирновых. Когда заканчивался нитрат хлорадия - приглашали Иванидзе с шведским терьером. Эти семьи радовали своим постоянством. Ни разу не замечая подвоха, они воровали воду и заменяли её своим излюбленным напитком.

Пришёл к нам тогда дядя Лёша. Ему, как старшему члену семьи, военному и просто золотому человеку, выделили стул рядом с заветной бутылкой и поставили праздничную двадцатимиллилитровую рюмочку.
Обычно уксус наливала хозяйка. Она наполняла маленькую ёмкость-капельницу и, стараясь делать руками меньше движений, наливала гостям не более двух миллилитров.
Дядя Лёша искренне поблагодарил за оказанную честь и налил себе где-то треть рюмочки, затем потянулся к яблочному соку и, разбавив им уксус, принялся пить, морщась и крякая. Мама смотрела на него презрительно и с завистью, поскольку не понимала, как можно было позволить себе так просто локать уксус, разбавляя его препакостным сомнительным соком.
Облизнувшись, дядя посмотрел на меня и спросил:
- А ты уже написал свою первую программу?
Мама вдруг стала очень серьёзной и нахмурилась.
- Лёша, ты что, год тебе без уксуса маяться, он же только три года назад поступил на обучение к жрецам Паскаля. Он ещё бубен в руках держать не умеет, о какой первой программе ты говоришь?
Мне вдруг стало как-то не по себе. Наташа, самая старшая во дворе, очень гордилась и всем показывала маленький стеклянный бубен-банку с золотой пробкой и уксусом внутри. Это был знак отличия, который получали за высшие достижения. Символ избранных, ключ во все дома России, а уж тем более - Антарктиды и Европы, признак самой уважаемой касты, программистский бубен, предназначавшийся только для выдающихся - тех, кто сам написал заклинание "Hello, world", сделав в нём не более трёх ошибок. Бубен можно было получить лишь раз в год на специальном собрании Программистов.
Поскольку для активации бубна надо было закончить школу, а Наташа была только в 14 классе, она не могла воспользоваться им в полную силу, а лишь ходила и всем показывала, заставляя падать в обморок.
Бабушка Наташа - бабушка Наташи - как только внучка получила "в бубен", начала вышивать сей символ на скатертях, пальто и валенках, пить чужой уксус три раза в день и летать в ступе. Года через два такой жизни она сошла с ума и исчезла. "Мы видели её в Америке", - поговаривали соседи - те самые, у которых она выпивала уксус. "Да да", - ухмыляясь, отвечали люди, понимая, что можно сделать с человеком за выпитый уксус.

Я с уважением посмотрел на дядю Лёшу. Он был настоящий программист, хотя бубна у него не было. В своё время были другие устои. Бубнов не выдавали, учили всех и спрашивали не так строго. Дяде, например, в качестве итогового задания сказали систему навигации написать.
Но несмотря на такую халяву в молодости, он ни в чём не был хуже современных мастеров. Работал он над искусственным интеллектом. Сидят они с коллегами в лаборатории и думают, думают. У них-то интеллекты естественные, а они - над искусственным думают, который сам "Hello, world" напишет без ошибок. Потому, не хватает, бывало, мыслей, даже чай не помогает. Смотрят они с коллегами в одну точку и думают "ну когда уж восемнадцать часов?" И дожидались часто. Правда, некоторые засыпали - так много сил и энергии забирала работа. Но дядя не жаловался. Приходил к нам и рассказывал о судьбе России и искусственном интеллекте. И интересно же рассказывал, я просто зевал и медленно сползал под стол, засыпая.
Потому, мама решила пригласить дядю Лёшу - чтобы он опять рассказал, а я, страдающий бессонницей, хоть чуть-чуть начал выздоравливать. Дядя согласился помочь будущему коллеге, который когда-нибудь тоже станет смотреть в одну точку на благо России и ждать окончания рабочего дня.

Дядя Лёша положил в рот кусок сала, собрался с мыслями и начал рассказывать.
- В наше время суровое все мыслить хотят. А ума-то на всё не хватает. Вот, например, продумать, как соединить проводки в новом компьютере - чтоб раздолбаям суровые игры показывал. Придумать, как фильм с новыми эффектами сотворить. А главное - разгадать чтоб капчей побольше и разослать побольше спаму мирному народу.
Нужен для этого искусственный интеллект. Он и мыслит здраво, и задачи решает быстро. Но вот только, как делает его, мало кто знает. Пожалуй, только мы с коллегами да ещё парочка людей из Министерства. Вот сейчас сделали компьютер, который думает не хуже кошки, но занимает он места... Наше Министерство для самых своих светлых сотрудников, всех вместе взятых, столько места не выделит. Потому, сидим мы и размышляем. Вот, железные машины заставляют гонять электроны впустую, занимают много места и греются безбожно. И считают только нечто совсем математическое. И то, какие-то низшие операции. А дойдёт до решения уравнения пятнадцатой степени, так и прикроется ваш компьютер медным тазом или отмажется, стыдливо вернув какие-то примерные результаты.
Почему так? Да просто электроны не приспособлены для того, чтоб считать, а арифметика компьютерная имеет очень малое сходство с реальностью. Компьютеру надо сначала погонять электроны, чтобы распознать наши нажатия на кнопки, потом погонять - чтобы разобраться, в чём тут соль. Заодно и головку на жёстком диске погонять. Но это - только начало. После этого начинается такой бред, что и говорить о нём мне не хочется.
Это всё равно, что нормальному человеку начать перемножать трёхзначные числа. Нормальный человек не рассчитан на это. Только представь себе: сначала ты смотришь на лист и распознаёшь эти самые числа. Затем - несколько раз вспоминаешь столь же искусственную таблицу умножения, несколько раз распознаёшь глупые цифры с бумажки, несколько раз преобразуешь результат в кривульку, а затем тратишь свой мозг на преобразование кривульки в движения рукой, чтобы нарисовать её на бумаге.
Неоптимальность налицо. Человек рассчитан на распознавание образов и работу с этими образами. Пикейные жилеты распознавали гнев Фунта, человек на обочине рассчитывает время и траекторию, чтобы не стать жертвой очередного лихача. Только попробуй дать компьютеру такие задачи. Во-вервых, придётся программировать всё это пару лет. Во-вторых, либо распознавание будет некачественное, либо компьютер надо взять помощнее.
А вот дай компьютеру умножить два числа - так он за секунду умножит миллиарды, только успей ему эти миллиарды чисел сообщить.
Потому, у нас с коллегами есть два варианта: продолжать в том же духе - строить суперкомпьютеры и годами писать сложные программы - это всё равно, что микроскопом забивать гвозди, ругаться, покупать перчатки чтобы битые стёкла не кололи рук и менять эти самые стёкла три раза в день. Второй вариант - пойти по пути разумному и забивать гвозди молотком. То есть использовать уже готовый мозг для вычислений. Клонирование у нас нынче цветёт и пахнет, ДНК расшифровывается по-тихоньку, а нанотехнологии стали символом века.
Всё это позволит вывести вычисления на новый уровень, ничего нового не придумывая. Просто берём, выращиваем мозг в колбочке, обучаем его чему-нибудь, подключаем к системе ввода-вывода и всё. Самообучающийся, привыкающий к определённой вычислительной задачи и выполняющей её всё быстрее и быстрее, компьютер готов. Разве что придумать надо эту самую систему ввода-вывода и систему, подводящую питание. Да, либо придётся либо разработать готовое питание, либо делать искусственные желудок и сердце, либо вообще подключать параллельно к своей голове и тогда уж не беспокоиться насчёт питания. Или можно пошаманить в ДНК и, скажем, скрестить человека с деревом. Тогда компьютер можно будет посадить во дворе и, поскольку он укоренится и не сможет особо двигаться, не бояться завоевания ими мира. Да, информационную войну создать они смогут, но если опять же пошаманить в ДНК, можно им убрать глаза, нос и все органы чувств, лишить их заинтересованности в нашем мире, то спать можно спокойно. А компьютеры будут успешно жить в своём виртуальном параллельном мире, куда могут на время заходить особо сильные экстрасенсы и рассказывать нам об обстановке. Всё прямо как в Матрице, только компьютерам с отсутствующими чувствами и малоподвижным стволом будет абсолютно незачем "возвращаться" к нам, а тем более - строить свой сомнительный город. А при должном питании им хватит вычислительной мощности и на наши задачи, и на свой параллельный мир. Это даже будет нам на руку, ведь общаясь с помощи телепатии, они организуют беспроводной Интернет во всём мире и смогут распределять вычисления на простаивающих соседей. А поскольку мозг рекомендуется нагружать, чтобы он не "раскисал", то подобное будет полезно и для самих компьютеров, а также - для их владельцев. Особо ленивые компьютеры обучатся перенаправлять свои задания тем, кто их быстрее и качественнее всех выполняет, потому распределённые вычисления станут ещё оптимальнее, чем в наше время. То, что сейчас имеет отношение к DNS, несомненно ляжет на плечи тех самых ленивых и хитрых компьютеров.
Вот мы так часто видели в фильмах про инопланетян их стиль жизни. Живые стены, чудо-металлы, телепатия, стремление мыстить широко и деловые переговоры в трансе. Они используют всё вокруг оптимально и по логике окружающего пространства. И если уж строят летающую тарелку, то строго просчитывают форму и механизмы тоже продумывают так, чтобы при максимальной простоте всё было эффективно и функционально. Пусть даже что-то литое сделают - сломается и выбрасывай куском, но сломается-то через десятки тысяч лет, а это самое литое можно быстро переплавить за три Йокжинквисских копейки на ближайшей планете.
Эх, а у нас-то что... Делают микросхему и молятся. Если работает - большая удача. Если не работает - сделаем ещё раз. Хоть и работают некоторые по двадцать лет, но постоянно их охлаждать надо и вообще неустанно следить и лелеять. А автомобили - так вообще печаль.
Ну, ничего. Начнём мы делать живые компьютеры - марсиане над нами хоть поменьше будут смеяться. Министерство пока говорит "дорого". Впрочем, оно так всегда говорит. Но если посмотреть глубже, ничего дорогого в этом нет. Да, исследования здесь довольно накладные. Впрочем, как и все современные исследования. Тут надо и оборудование купить, и опытные экземплярусы выращивать, и сидеть думать вечерами, а это - самое сложное и затратное. Но вот когда всё пойдёт в поток, дешевизна очевидна. Ставим мы сотню тысяч таких компьютеров, привинчиваем систему ввода-вывода и питания, указываем компьютеру-учителю в большой кадке "образумь новую партию". Тот начинает образовательный процесс. Пусть даже и несколько лет это будет длиться, но вино делать затратнее. После обучения будет готовая партия, умеющая и изображения распознавать, и уравнения дифференциальные любые решать. Причём, за доли секунды и сочиняя при этом стихи в виртуальном мире.
А если хорошо сделать, компьютеры такие будут три века работать. Это значит, что страшны им будут лишь война и дровосеки и что новых делать надо будет не более, чем половину миллиона в год. А если позволять им бросать на землю семена и иметь ввиду их самообучение, то вообще когда-нибудь люди ничего сложнее удобрений для компьютеров, домов и металлических конструкций делать не будут. Разве что бухгалтерские труды, стихи и песни. Но в силу некой отстранённости от материального мира, пока их учитывать не будем. Тем более, что правильно обученные компьютеры будут делать во много раз лучше людей.
Единственное, здесь остаётся вопрос учителей. Они должны быстро и оптимально заставлять компьютеры правильно мыслить. Но, использовав сначала живых учителей, а потом - с каждой итерацией приближаясь к идеалу, можно будет создать совершенного мастера, который сделает нам оптимальные компьютеры.
Кстааати! - тут дядя Лёша посмотрел в сторону мамы, - подобные компьютеры будут достаточно широко мыслить и не проявлять эмоции в нашем мире, потому с ними смогут управиться даже самые тупые блондинки.
- Няяяшно, - сказала мама и продолжила красить ногти.
- Так вот, - продолжил дя-дя Лёша, - завтра нам должны завезти порцию новых мозгов. Будем опять сидеть и думать над ними. Впрочем, как и всегда.

Тут я начал засыпать. Мама заметила это и по привычке сказала:
- Нет, ты совсем уже? Не спи, когда умные люди говорят!
А потом вдруг вспомнила, для чего пригласила дядю и поблагодарила его.
Надо ли говорить, что я ближайший месяц я спал круглые сутки и ничего меня разбудить не могло?

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