Русский
Русский
English
Статистика
Реклама

История it

Как придумали кодировку UTF-8 выдержки из переписки создателей

14.04.2021 12:16:12 | Автор: admin

Всем известна кодировка UTF-8, что давно доминирует в интернет пространстве, и которой пользуются много лет. Казалось бы, о ней все известно, и ничего интересного на эту тему не рассказать. Если почитать популярные ресурсы типа Википедии, то действительно там нет ничего необычного, разве что в английской версии кратко упоминается странная история о том, как ее набросали на салфетке в закусочной.

На самом деле изобретение этой кодировки не может быть настолько банальным хотя бы потому, что к ее созданию приложил руку Кен Томпсон легендарная личность. Он работал вместе с Деннисом Ритчи, был одним из создателей UNIX, внес вклад в разработку C (изобрел его предшественника B), а позднее, во время работы в Google, принял участие в создании языка Go.

Перед вами перевод нескольких писем, в которых разработчики вспоминают историю создания кодировки.


Действующие лица:


ken (at) entrisphere.com Кен Томпсон

Кен Томпсон (слева) с Деннисом Ритчи

Rob 'Commander' Pike Роберт Пайк, канадский программист, работавший над UTF-8 вместе c Кеном Томпсоном


mkuhn (at) acm.org Маркус Кун, немецкий ученый в области информатики


henry (at) spsystems.net Генри Сперсер, автор одной из реализаций RegExp


Russ Cox <rsc@plan9.bell-labs.com> Русс Кокс, сотрудник Bell Labs, работавший над системой Plane 9


Greger Leijonhufvud <greger@friherr.com> Один из сотрудников X/Open


Plane 9 Операционная система, в которой впервые была использована кодировка UTF-8 для обеспечения ее мультиязычности.


UTF-8 Кодировка символов Юникода




Переписка 2003 года



Ниже переписка создателей кодировки, Роберта и Кена, которую Роберт Пайк начал, сетуя на то, что их вклад в создание UTF-8 незаслуженно забыли. Роберт просит одного из старых знакомых порыться в архивах почтового сервера и найти там доказательства их участия. (прим. пер.)

Subject: UTF-8 history
From: "Rob 'Commander' Pike" <r (at) google.com>
Date: Wed, 30 Apr 2003 22:32:32 -0700 (Thu 06:32 BST)
To: mkuhn (at) acm.org, henry (at) spsystems.net
Cc: ken (at) entrisphere.com


Глядя на разговоры о происхождении UTF-8, я вижу, как постоянно повторяют одну и ту же историю.
Неправильная версия:
1. UTF-8 разработала IBM.
2. Она была реализована в Plane 9 (операционная система, разработанная Bell Laboratories)
Это неправда. Я своими глазами видел, как однажды вечером в сентябре 1992 года была придумана UTF-8 на салфетке в одной закусочных Нью-Джерси.

Произошло это таким образом. Мы пользовались оригинальным UTF из стандарта ISO 10646 для поддержки 16-битных символов в Plane 9, который ненавидели, и уже были готовы к выпуску Plane 9, когда однажды поздно вечером мне позвонили одни парни, кажется они были из IBM. Я припоминаю, что встречался с ними на заседании комитета X/Open в Остине. Они хотели, чтобы мы с Кеном посмотрели их проект FSS/UTF.
В то время подавляющее большинство компьютерных программ и систем (документация, сообщения об ошибках и т.п.) было только на английском и только слева направо. Инженерам из Bell Labs показалось, что релиз Plane 9 хороший повод для того, чтобы изменить это, поскольку проще всего вводить новшества в систему на этапе ее разработки, а не исправлять уже выпущенный продукт. Потому они стали искать специалистов, которые помогут им интернационализировать их проект.

В существующей реализации Unicode было много недостатков, например, чтобы понять, где именно начинается произвольный символ, надо было разобрать всю строку с самого начала, без этого нельзя было определить границы символов.
(прим. пер.)
Мы поняли, почему они хотят изменить дизайн и решили, что это хорошая возможность использовать наш опыт, чтобы разработать новый стандарт и заставить ребят из X/Open продвинуть его. Нам пришлось рассказать им об этом, и они согласились при условии, что мы быстро с этим справимся.
Потом мы пошли перекусить, и во время ужина Кен разобрался с упаковкой битов, а когда вернулись, то позвонили ребятам из X/Open и объяснили им нашу идею. Мы отправили по почте наш набросок, и они ответили, что это лучше, чем у них (но я точно помню, что они нам свой вариант не показывали), и спросили, когда мы сможем это реализовать.
Одним из вариантов разграничения символов был слэш, но это могло запутать файловую систему, она бы могла интерпретировать его как эскейп-последовательность.
(прим. пер.)
Мне кажется, что это происходило в среду вечером. Мы пообещали, что запустим систему к понедельнику, когда у них, как мне кажется, намечалось какое-то важное совещание. В тот же вечер Кен написал код кодировщика/раскодировщика, а я начал разбираться с С и с графическими библиотеками. На следующий день код был готов, и мы начали конвертировать текстовые файлы системы. К пятнице Plane 9 уже запускался и работал на так называемом UTF-8.
А в дальнейшем история была немного переписана.

Почему мы просто не воспользовались их FSS/UTF?
Насколько я помню, в том первом телефонном звонке я напел им Дезидерату своих требований для кодировки, и в FSS/UTF не было как минимум одного возможности синхронизировать поток байтов взятых из середины потока, используя для синхронизации как можно меньше символов (см выше, про определение границ символов. прим. пер).
напел им Дезидерату
Игра слов.
Имеется в виду крылатая фраза, берущая начало из альбома Леса Крейна 1971 года, чье название и заглавная композиция: Desiderata взяты из одноименной поэмы, что переводится с латыни, как: Желаемое. То есть, напел им Дезидерату следует понимать как высказал пожелания. (прим пер.)
Поскольку нигде решения не было, мы были вольны делать это как хотели.
Я думаю, что историю придумали IBM, а реализовали в Plane 9 берет свое начало в документации по RFC 2279. Мы были так счастливы, когда UTF-8 прижился, что никому не рассказали эту историю.

Никто из нас больше не работает в Bell Labs, но я уверен, что сохранился архив электронной почты, которая может подтвердить нашу историю, и я могу попросить кого-нибудь покопаться в ней.
Итак, вся слава достается парням из X/Open и IBM за то, что они сделали это возможным и продвинули кодировку, но разработал ее Кен, и я ему помогал в этом, что бы там не говорилось в книгах по истории.

Роб


Date: Sat, 07 Jun 2003 18:44:05 -0700
From: "Rob `Commander' Pike" <r@google.com>
To: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
cc: henry@spsystems.net, ken@entrisphere.com,
Greger Leijonhufvud <greger@friherr.com>
Subject: Re: UTF-8 history


Я попросил Расса Кокса покопаться в архивах. Прикладываю его сообщение. Я думаю, вы согласитесь, что это подтверждает историю, которую я отправил раньше. Письмо, которое мы выслали в X/Open (думаю, что Кен редактировал и рассылал этот документ) включает новый desideratum номер 6 про обнаружение границ символов.

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

Роб


From: Russ Cox <rsc@plan9.bell-labs.com>
To: r@google.com
Subject: utf digging
Date-Sent: Saturday, June 07, 2003 7:46 PM -0400


Файл пользователя bootes /sys/src/libc/port/rune.c был изменен пользователем division-heavy 4 сентября 1992 года. Версия, попавшая в дамп имеет время 19:51:55. На другой день в него был добавлен комментарий, но в остальном он не изменялся до 14 ноября 1996 года, когда runelen была ускорена путем явной проверки значения rune вместо использования значения, возвращаемого runetochar. Последнее изменение было 26 мая 2001 года, когда была добавлена runenlen. (Rune структура, содержащая значение Юникод. Runelen и runetochar функции, работающие с этим типом данных. прим.пер)

Нашлось несколько писем из ваших ящиков, которые выдал грепинг по строке utf.

В первом идет речь про файл utf.c, который является копией wctomb и mbtowc (функции преобразования символов. прим. пер.), что обрабатывают полную 6-байтовую кодировку UTF-8, 32-битных runes. С логикой управления потоком это выглядит довольно уродливо. Я предполагаю, что этот код появился в результате того первого письма.

В /usr/ken/utf/xutf я нашел копию того, что, по видимому, является исходником того не самосинхронизирующегося способа кодирования.со схемой UTF-8, добавленной в конце письма (начинается со слов Мы определяем 7 типов byte).

Приведенная ниже версия письма, датированная 2 сентября 23:44:10, является первой. После нескольких правок, утром 8 сентября, получилась вторая версия. Логи почтового сервера показывают, как отправляется вторая версия письма и, через некоторое время, возвращается к Кену:

helix: Sep 8 03:22:13: ken: upas/sendmail: remote inet!xopen.co.uk!xojig
>From ken Tue Sep 8 03:22:07 EDT 1992 (xojig@xopen.co.uk) 6833
helix: Sep 8 03:22:13: ken: upas/sendmail: delivered rob From ken Tue Sep 8 03:22:07 EDT 1992 6833
helix: Sep 8 03:22:16: ken: upas/sendmail: remote pyxis!andrew From ken Tue Sep 8 03:22:07 EDT 1992 (andrew) 6833
helix: Sep 8 03:22:19: ken: upas/sendmail: remote coma!dmr From ken Tue Sep 8 03:22:07 EDT 1992 (dmr) 6833
helix: Sep 8 03:25:52: ken: upas/sendmail: delivered rob From ken Tue Sep 8 03:24:58 EDT 1992 141
helix: Sep 8 03:36:13: ken: upas/sendmail: delivered ken From ken Tue Sep 8 03:36:12 EDT 1992 6833


Всего хорошего.

Файлы из почтового архива


Далее файл с перепиской из дапма почтового сервера, который Расс Кокс приаттачил к своему, в ответ на просьбу Роберта покопаться в истории. Это первая версия. (прим пер.)

>From ken Fri Sep 4 03:37:39 EDT 1992

Вот наше предложение по модификации FSS-UTF. Речь идет о том же, о чем и в предыдущем. Приношу свои извинения автору.

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

File System Safe Universal Character Set Transformation Format (FSS-UTF)



В связи с утверждением ISO/IEC 10646 (Unicode) в качестве международного стандарта и ожиданием широкого распространения этого Универсального Набора Кодированных символов (UCS), для операционных систем, исторически основанных на формате ASCII, необходимо разработать способы представления и обработки большого количества символов, которые можно закодировать с помощью нового стандарта. У UCS есть несколько проблем, которые нужно решить в исторически сложившихся операционных системах и среде для программирования на языке C.

(Далее в тексте несколько раз упоминаются historical operating systems. Видимо в контексте исторически работающие с кодировкой ASCII. Я или опускал этот эпитет, или заменял его на существующие и т.п. прим. пер)

Самой серьезной проблемой является схема кодирования, используемая в UCS. А именно объединение стандарта UCS с существующими языками программирования, операционными системами и утилитами. Проблемы в языках программирования и операционных системах решаются в разных отраслях, тем не менее мы все еще сталкиваемся с обработкой UCS операционными системами и утилитами.

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

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

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

Цель/Задача



Исходя из предположения получаем, что если известны практически все проблемы обработки и хранения UCS в файловых системах ОС, то надо пользоваться таким форматом преобразования UCS, который будет работать не нарушая структуры операционной системы. Цель состоит в том, чтобы процесс преобразования формата можно было использовать для кодирования файла.

Критерии для формата преобразования



Ниже приведены рекомендации, которые должны соблюдаться, при определении формата преобразования UCS:

  1. Совместимость с существующими файловыми системами.
    Запрещено использовать нулевой байт и символ слэша как часть имени файла.
  2. Совместимость с существующими программами.
    В существующей модели многобайтовой обработки не должны использоваться коды ASCII. В формате преобразования представления символа UCS, которого нет в наборе символов ASCII, не должны использоваться коды ASCII.
  3. Простота конвертации из UCS и обратно.
  4. Первый байт содержит указание на длину многобайтовой последовательности.
  5. Формат преобразования не должен быть затратным, в смысле количества байт, используемых для кодирования.
  6. Должна быть возможность легко определять начало символа, находясь в любом месте байтового потока (строки. прим.пер.).

Предписания FSS-UTF



Предлагаемый формат преобразования UCS кодирует значения UCS в диапазоне [0,0x7fffffff] с использованием нескольких байт на один символ и длинной 1, 2, 3, 4, 5, и 6 байт. Во всех случаях кодирования более чем одним байтом начальный байт определяет количество используемых байтов, при этом в каждом байте устанавливается старший бит. Каждый байт, который не начинается с 10XXXXXX, является началом последовательности символов UCS.

Простой способ запомнить формат: количество старших единиц в первом байте означает количество байт в многобайтовом символе.

Bits  Hex Min Hex Max Byte Sequence in Binary1  7 00000000 0000007f 0vvvvvvv2  11 00000080 000007FF 110vvvvv 10vvvvvv3  16 00000800 0000FFFF 1110vvvv 10vvvvvv 10vvvvvv4  21 00010000 001FFFFF 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv5  26 00200000 03FFFFFF 111110vv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv6  31 04000000 7FFFFFFF 1111110v 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv10vvvvvv


Значение символа UCD в многобайтовой кодировке это конкатенация v-битов. Если возможно несколько способов кодирования, например UCS 0, то допустимым считается самый короткий.

Ниже приведены примеры реализаций стандартных функций C wcstombs() и mbstowcs(), которые демонстрируют алгоритмы конвертирования из UCS в формат преобразования и конвертирования из формата преобразования в UCS. Примеры реализаций включают проверку ошибок, некоторые из которых могут быть не нужны для согласования:

typedefstruct{int  cmask;int  cval;int  shift;long lmask;long lval;} Tab;staticTab    tab[] ={0x80, 0x00, 0*6,  0x7F,     0,      /* 1 byte sequence */0xE0, 0xC0, 1*6,  0x7FF,    0x80,     /* 2 byte sequence */0xF0, 0xE0, 2*6,  0xFFFF,       0x800,    /* 3 byte sequence */0xF8, 0xF0, 3*6,  0x1FFFFF,   0x10000,   /* 4 byte sequence */0xFC, 0xF8, 4*6,  0x3FFFFFF,  0x200000,   /* 5 byte sequence */0xFE, 0xFC, 5*6,  0x7FFFFFFF,  0x4000000,  /* 6 byte sequence */0,                       /* end of table */};intmbtowc(wchar_t *p, char *s, size_t n){long l;int c0, c, nc;Tab *t;if(s == 0)return 0;nc = 0;if(n <= nc)return -1;c0 = *s & 0xff;l = c0;for(t=tab; t->cmask; t++) {nc++;if((c0 & t->cmask) == t->cval) {l &= t->lmask;if(l < t->lval)return -1;*p = l;return nc;}if(n <= nc)return -1;s++;c = (*s ^ 0x80) & 0xFF;if(c & 0xC0)return -1;l = (l<<6) | c;}return -1;}intwctomb(char *s, wchar_t wc){long l;int c, nc;Tab *t;if(s == 0)return 0;l = wc;nc = 0;for(t=tab; t->cmask; t++) {nc++;if(l <= t->lmask) {c = t->shift;*s = t->cval | (l>>c);while(c > 0) {c -= 6;s++;*s = 0x80 | ((l>>c) & 0x3F);}return nc;}}return -1;}


>From ken Tue Sep 8 03:24:58 EDT 1992

Я послал его по почте, но письмо ушло в черную дыру, потому я не получил свою копию. Наверное, это интернет-адрес был в коме.

Вторая версия письма, с правками


Далее прикладывается копия письма, которая выше описывается как: После нескольких правок, утром 8 сентября, получилась вторая версия. Повторяющаяся часть скрыта под спойлером. (прим.пер.)

>From ken Tue Sep 8 03:42:43 EDT 1992

Наконец-то я получил свою копию.
--- /usr/ken/utf/xutf from dump of Sep 2 1992 ---

Скрытый текст

File System Safe Universal Character Set Transformation Format (FSS-UTF)



В связи с утверждением ISO/IEC 10646 (Unicode) в качестве международного стандарта и ожиданием широкого распространения этого Универсального Набора Кодированных символов (UCS), для операционных систем, исторически основанных на формате ASCII, необходимо разработать способы представления и обработки большого количества символов, которые можно закодировать с помощью нового стандарта. У UCS есть несколько проблем, которые нужно решить в исторически сложившихся операционных системах и среде для программирования на языке C.

Самой серьезной проблемой является схема кодирования, используемая в UCS. А именно объединение стандарта UCS с существующими языками программирования, операционными системами и утилитами. Проблемы в языках программирования и операционных системах решаются в разных отраслях, тем не менее мы все еще сталкиваемся с обработкой UCS операционными системами и утилитами.

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

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

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

Цель/Задача



Исходя из предположения получаем, что если известны практически все проблемы обработки и хранения UCS в файловых системах ОС, то надо пользоваться таким форматом преобразования UCS, который будет работать не нарушая структуры операционной системы. Цель состоит в том, чтобы процесс преобразования формата можно было использовать для кодирования файла.

Критерии для формата преобразования



Ниже приведены рекомендации, которые должны соблюдаться, при определении формата преобразования UCS:

  1. Совместимость с существующими файловыми системами.
    Запрещено использовать нулевой байт и символ слэша как часть имени файла.
  2. Совместимость с существующими программами.
    В существующей модели многобайтовой обработки не должны использоваться коды ASCII. В формате преобразования представления символа UCS, которого нет в наборе символов ASCII, не должны использоваться коды ASCII.
  3. Простота конвертации из UCS и обратно.
  4. Первый байт содержит указание на длину многобайтовой последовательности.
  5. Формат преобразования не должен быть затратным, в смысле количества байт, используемых для кодирования.
  6. Должна быть возможность легко определять начало символа, находясь в любом месте байтового потока (строки. прим.пер.).

Предписания FSS-UTF



Предлагаемый формат преобразования UCS кодирует значения UCS в диапазоне [0,0x7fffffff] с использованием нескольких байт на один символ и длинной 1, 2, 3, 4, 5, и 6 байт. Во всех случаях кодирования более чем одним байтом начальный байт определяет количество используемых байтов, при этом в каждом байте устанавливается старший бит. Каждый байт, который не начинается с 10XXXXXX, является началом последовательности символов UCS.

Простой способ запомнить формат: количество старших единиц в первом байте означает количество байт в многобайтовом символе.

Bits  Hex Min Hex Max Byte Sequence in Binary1  7 00000000 0000007f 0vvvvvvv2  11 00000080 000007FF 110vvvvv 10vvvvvv3  16 00000800 0000FFFF 1110vvvv 10vvvvvv 10vvvvvv4  21 00010000 001FFFFF 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv5  26 00200000 03FFFFFF 111110vv 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv6  31 04000000 7FFFFFFF 1111110v 10vvvvvv 10vvvvvv 10vvvvvv 10vvvvvv10vvvvvv


Значение символа UCD в многобайтовой кодировке это конкатенация v-битов. Если возможно несколько способов кодирования, например UCS 0, то допустимым считается самый короткий.

Ниже приведены примеры реализаций стандартных функций C wcstombs() и mbstowcs(), которые демонстрируют алгоритмы конвертирования из UCS в формат преобразования и конвертирования из формата преобразования в UCS. Примеры реализаций включают проверку ошибок, некоторые из которых могут быть не нужны для согласования:

typedefstruct{int  cmask;int  cval;int  shift;long lmask;long lval;} Tab;staticTab    tab[] ={0x80, 0x00, 0*6,  0x7F,     0,      /* 1 byte sequence */0xE0, 0xC0, 1*6,  0x7FF,    0x80,     /* 2 byte sequence */0xF0, 0xE0, 2*6,  0xFFFF,       0x800,    /* 3 byte sequence */0xF8, 0xF0, 3*6,  0x1FFFFF,   0x10000,   /* 4 byte sequence */0xFC, 0xF8, 4*6,  0x3FFFFFF,  0x200000,   /* 5 byte sequence */0xFE, 0xFC, 5*6,  0x7FFFFFFF,  0x4000000,  /* 6 byte sequence */0,                       /* end of table */};intmbtowc(wchar_t *p, char *s, size_t n){long l;int c0, c, nc;Tab *t;if(s == 0)return 0;nc = 0;if(n <= nc)return -1;c0 = *s & 0xff;l = c0;for(t=tab; t->cmask; t++) {nc++;if((c0 & t->cmask) == t->cval) {l &= t->lmask;if(l < t->lval)return -1;*p = l;return nc;}if(n <= nc)return -1;s++;c = (*s ^ 0x80) & 0xFF;if(c & 0xC0)return -1;l = (l<<6) | c;}return -1;}intwctomb(char *s, wchar_t wc){long l;int c, nc;Tab *t;if(s == 0)return 0;l = wc;nc = 0;for(t=tab; t->cmask; t++) {nc++;if(l <= t->lmask) {c = t->shift;*s = t->cval | (l>>c);while(c > 0) {c -= 6;s++;*s = 0x80 | ((l>>c) & 0x3F);}return nc;}}return -1;}

int mbtowc(wchar_t *p, const char *s, size_t n){unsigned char *uc;   /* so that all bytes are nonnegative */if ((uc = (unsigned char *)s) == 0)return 0;        /* no shift states */if (n == 0)return -1;if ((*p = uc[0]) < 0x80)return uc[0] != '\0';  /* return 0 for '\0', else 1 */if (uc[0] < 0xc0){if (n < 2)return -1;if (uc[1] < 0x80)goto bad;*p &= 0x3f;*p <<= 7;*p |= uc[1] & 0x7f;*p += OFF1;return 2;}if (uc[0] < 0xe0){if (n < 3)return -1;if (uc[1] < 0x80 || uc[2] < 0x80)goto bad;*p &= 0x1f;*p <<= 14;*p |= (uc[1] & 0x7f) << 7;*p |= uc[2] & 0x7f;*p += OFF2;return 3;}if (uc[0] < 0xf0){if (n < 4)return -1;if (uc[1] < 0x80 || uc[2] < 0x80 || uc[3] < 0x80)goto bad;*p &= 0x0f;*p <<= 21;*p |= (uc[1] & 0x7f) << 14;*p |= (uc[2] & 0x7f) << 7;*p |= uc[3] & 0x7f;*p += OFF3;return 4;}if (uc[0] < 0xf8){if (n < 5)return -1;if (uc[1] < 0x80 || uc[2] < 0x80 || uc[3] < 0x80 || uc[4] < 0x80)goto bad;*p &= 0x07;*p <<= 28;*p |= (uc[1] & 0x7f) << 21;*p |= (uc[2] & 0x7f) << 14;*p |= (uc[3] & 0x7f) << 7;*p |= uc[4] & 0x7f;if (((*p += OFF4) & ~(wchar_t)0x7fffffff) == 0)return 5;}bad:;errno = EILSEQ;return -1;}

Мы определяем 7 байтовых типов:

T0 0xxxxxxx   7 free bitsTx 10xxxxxx   6 free bitsT1 110xxxxx   5 free bitsT2 1110xxxx   4 free bitsT3 11110xxx   3 free bitsT4 111110xx   2 free bitsT5 111111xx   2 free bits

Кодирование выглядит следующим образом:

>From hex Thru hex   Sequence       Bits00000000 0000007f   T0          700000080 000007FF   T1 Tx        1100000800 0000FFFF   T2 Tx Tx       1600010000 001FFFFF   T3 Tx Tx Tx     2100200000 03FFFFFF   T4 Tx Tx Tx Tx    2604000000 FFFFFFFF   T5 Tx Tx Tx Tx Tx  32

Некоторые примечания:

  1. Двумя байтами можно закодировать 2^11 степени символов, но использоваться будут только 2^112^7. Коды в диапазоне 0-7F будут считаться недопустимыми. Я думаю, что это лучше, чем добавление кучи магических констант без реальной пользы. Это замечание применимо ко всем более длинным последовательностям.
  2. Последовательности из 4, 5 и 6 байт существуют только по политическим причинам. Я бы предпочел их удалить.
  3. 6-байтовая последовательность охватывает 32 бита, предложение FSS-UTF охватывает только 31.
  4. Все последовательности синхронизируются по любому байту, не являющемуся Tx.

***


Эта короткая переписка расставила все по своим местам. Хоть и не сохранилась та легендарная салфетка, но выдержек из архива почтового сервера хватило, чтобы сообщество признало их заслуги. В Википедию добавили имена Кена и Роберта и забавный факт про салфетку в закусочной, а в сети эта история гуляет и обсуждается как есть, в виде простого текста, содержащего несколько писем и часть дампа из почтового сервера.

Давно забыта операционная система Plane 9, никто не помнит для чего ее писали и почему она номер девять, а UTF-8, спустя почти тридцать лет, все еще актуальна и не собирается уходить на покой.

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

Перевод Векторные игры на 32с3

17.04.2021 12:09:16 | Автор: admin

Статья раскрывает тему нашего выступления на 32-м Всемирном конгрессе хакеров (32с3), посвященного ретро-геймингу и работе с эмулятором игровых автоматов (MAME) на XY-дисплеях. В нем освещается результат моего сотрудничества с еще одним членом NYC Resistor, цифровым дизайнером Адель Лин, которая увлекается разработкой игр и игровых пространств. При желании можно посмотреть получасовое видео выступления онлайн.

История векторной графики


Аналоговые компьютеры




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


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



В Tennis for two нет исходного кода, так как создавалась игра исключительно аппаратно. Здесь использовались реле для управления направлением мяча, блоки сравнения, которые обнаруживали касание мячом земли или сетки, операционные усилители, которые реализовывали дифференциальное уравнение, резисторы, имитировавшие притяжение и т.д.



Адель в сотрудничестве с продюсером Жаном Анджелом, студией игрового дизайна Sozen Eyes и физиком Питером Такачем работала над современной реконструкцией этого устройства для Silicon City. Ввиду необходимости поддержания работоспособности инсталляции без обслуживания на все время пятимесячной выставки в музее NYHC они использовали монитор 4К и эмулировали игру. Дело в том, что во время демонстрации Tennis for Two в Брукхэвене работал штат техников, которые заменяли выходившие из строя детали, чего в NYHC хотели избежать.

Цифровые компьютеры




Spacewar! 1962 года стала одной из первых цифровых видеоигр, в которой на XY-дисплее компьютера PDP-1 отображались корабли игроков, их орудия, а также звездное поле. Управление осуществлялось с помощью рычагов и кнопок на передней панели системы, хотя зачастую во избежание их износа для этого собирались отдельные блоки управления.



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

Почему векторные игры?


В 1978 году, когда для игры Lunar Lander был разработан цифровой генератор векторов, память для фреймбуферов в видеоиграх обходилась очень дорого. Двум буферам размером 512х512х4 требовалось 128 запоминающих устройств общей стоимостью $614. Джед Марголин, инженер Atari.

Именно поэтому во времена доминирования растровых дисплеев был смысл затратить все эти усилия, чтобы добиться отрисовки векторов. Стоимость создания растровой версии Asteroids с фреймбуфером, способным поддерживать разрешение экрана 1024х1024 составила бы тысячи долларов. Для этого также необходим дисплей, который справился бы с отрисовкой столь огромного количества вертикальных линий: большинство ЭЛТ же разрабатывались для телевидения, и обеспечивали разрешение всего в пару сотен тысяч линий.


Star Wars на Acorn Electron


Star Wars на векторном дисплее

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


Star Wars на Atari 2600


Star Wars на векторном дисплее

Помимо этого, векторы упрощают 3D-анимацию. Выше представлено сравнение растровой версии игры, пытающейся сымитировать трехмерный мир, с масштабированной и повернутой 3D моделью Tie-Fighter. В какой вариант вы бы предпочли сыграть?

Устройства генерации векторов


Как происходит отрисовка




В векторном дисплее луч не рисует горизонтальные линии сканирования, как в условной ЭЛТ. Вместо этого он может быть направлен в произвольную область экрана для создания яркой точки в конкретном месте. В векторных дисплеях без запоминания яркость точки определяется продолжительностью направления на нее луча. Варьируя входы X и Y, можно рисовать линии или другие фигуры. С помощью быстрого перемещения или изменения яркости (Z) входного сигнала можно отображать прерывистые линии. В данном случае я отключил вход Z, чтобы можно было увидеть последовательность отрисовки объектов на экране. В показанной здесь игре Lunar Lander используется цифровой генератор векторов, непосредственно управляющий лучом.



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

Аналоговая и цифровая генерация


При написании этого раздела я опирался на руководство Джеда Марголина по векторным дисплеям.


Схема цифровой генерации векторов


Схема аналоговой генерации векторов

Один из способов генерации векторов это использование цифро-аналогового преобразователя (ЦАП), напрямую управляющего входами X и Y дисплея. Это и есть цифровой генератор векторов, который использовался в ранних играх вроде Asteroids и Lunar Lander. В нем задействовались 10-битные ЦАП и операционный усилитель, настроенный в качестве буфера, но при этом требовалось, чтобы ЦПУ большую часть времени выполнял обновление входных сигналов ЦАП, а разрешение ограничивалось до приблизительно 1024х768 точек.

Другая техника была разработана для более поздних игр вроде Starwars. В аналоговом генераторе векторов используется операционный усилитель, настроенный в качестве интегратора путем добавления конденсатора в контур обратной связи. Это означает, что на вход в ЦАП подается наклон линии, которую нужно сгенерировать, а аналоговая природа операционного усилителя обеспечивает отрисовку ее в бесконечно гладком виде.



На современном оборудовании можно легко генерировать 12-битные линии, которые намного превышают разрешение небольших векторных дисплеев. При этом можно также задействовать механизмы прямого доступа к памяти (ПДП) на микроконтроллерах, чтобы разгрузить процесс отправки данных в ЦАП. На картинке выше показанпрототип моей открытой для использования платы v.st. Ее можно без проблем собрать также на макетной плате для собственных экспериментов.



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

Аппаратная часть векторного дисплея


Осциллограф




Современные цифровые осциллографы не очень хорошо подходят для отображения данных. Их ЖК-дисплеи могут эмулировать послесвечение, но обычно обладают всего лишь 8-битным АЦП и очень низким разрешением. Они по-прежнему сверхполезны для общего измерения сигнала, но не в интересующем нас случае.



Вместо этого можно отправиться на eBay или craiglist и найти аналоговый ЭЛТ-осциллограф с режимом X-Y, который обойдется в районе $50 Подойдет любой вариант с шириной полосы в 5МГц и более все равно ЦАПы на платах v.st могут выдавать частоту максимум 2МГц.

Запоминающие дисплеи




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

Вектороскоп




Вектороскопы, такие как Tek 1720, использовались в телевизионных станциях для калибровки цветовых полос, и по мере перехода станций в цифровой режим их применение постепенно прекращалось. В результате таких аналоговых дисплеев на eBay предлагается очень много и за небольшие деньги. Они используют очень быстрое электростатическое отклонение и оснащены, как правило, небольшими, но очень резкими экранами. Эти дисплеи также оборудованы дифференциальными входами, что избавляет от необходимости использовать отрицательный выход на ЦАП.

Консоли Vectrex



Консоль Vectrex


Электроника Vectrex

Домашняя игровая консоль Vectrex оборудована приятным черно-белым экраном с высокой резкостью. Можно без проблем отсоединить материнскую плату от аналогового драйвера ЭЛТ и вывести провода из корпуса для подключения платы v.st.



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

Лазерные проекторы




Также можно использовать лазерный проектор, вот только результат получится не лучшего качества. Физические зеркала обладают определенной долей инерции, и на включение/выключение луча требуется время. В результате частота обновления падает, и изображение получается мерцающим. Некоторые специализированные игры могут работать с очень быстрыми (45-60 Kpps) гальваническими сканерами, но почти все аркады требуют отображения слишком большого количества векторов.



Проект LazyMame добился неплохих успехов, но я не могу найти никаких подробностей или исходного кода уже с 2008 года. Позже в 2013 возник проект OpenLase-Mame, который с тех пор молчит. Помимо этого, другие разработчики пробовали создавать новые лазерные игры с помощью кастомного плагина Unity. Некоторые преуспели.

MAME



MAME это акроним от Multiple Arcade Machine Emulator, означающего эмулятор множества аркадных автоматов, и его имя себя вполне оправдывает он способен эмулировать тысячи игр и автоматов, включая практически все когда-либо созданные векторные аркады.

Эмуляция векторных дисплеев



Фактическое свечение на векторном дисплее


Эмулированное векторное свечение

Эффект свечения, создаваемый яркими векторными линиями, относится к одной из излюбленных игроками особенностей. В MAME есть поддержка шейдеров HLSL, которые размывают яркие линии и создают подобие этого эффекта. Сверху изображен реальный дисплей
Vectrex, а снизу эмуляция на MAME.

Патчи для подключения к дисплею




К сожалению, мой патч для MAME, который добавлял поддержку экспорта векторов, был закрыт как неприемлемо грязный способ достижения желаемого результата. Так что вам потребуется клонировать мое дерево и следовать инструкциям по созданию векторного MAME. Основная часть изменений находится в src/emu/video/vector.cpp и опирается на усекаемые окна, которые MAME использует для ограничения векторов областью экрана.

Патчи для Raspberry Pi




Я также портировал изменения в голую сборку MAME4AllPi для Raspberry Pi. Инструкции для векторного MAME на Pi аналогичны. Нужно будет клонировать дерево и вшить его в Pi. К сожалению, здесь имеется ряд проблем с джойстиком, которые еще предстоит исправить.

Играем



Вы можете поиграть в одну из оригинальных игр, Space Wars, вышедшую в 1977 году


Asteroids (1979) тоже всегда славилась популярностью и была одной из самых кассовых игр своего времени!


Lunar Lander на вектороскопе


Tempest на вектороскопе

Или, быть может, вам больше по душе придутся Lunar Lander (1979) и Tempest (1980).


Сэмулировать можно огромное число векторных игр, включая весь список Atari


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

Кастомизация


Пользовательские устройства ввода



Консоль Robotron собственной сборки


Robotron

Как только вы подключите векторный дисплей к MAME, вам наверняка захочется внести свои доработки. Можно без проблем собрать собственные USB HID-устройства на основе предлагаемых Adafruit аркадных джойстиков, кнопок и даже монетоприемников.

Примечание ред.: доступ к ресурсу Adafruit возможен только через VPN.

Креативное программирование с векторами




Если же вы устали от игр, то всегда можно превратить дисплей в вектороскопические часы. В Teensy 3 есть сквозные отверстия для кварцевого резонатора 32.768КГц и резервная батарея, позволяющая поддерживать точность отображаемого времени.


Можно писать игры, которые будут выполняться непосредственно на Teensy, как мой клон Asteroids, Space Rocks, или создавать какие-нибудь арт-проекты.


Некоторые энтузиасты реализуют поистине грандиозные проекты vec9 стал первой векторной аркадой за тридцать лет, реализованной в кастомном автомате с рычагом управления, как в реальном танке.






Мы создали простую библиотеку на Processing, чтобы показать, как пишутся программы, взаимодействующие с такими дисплеями. Образец кода лежит в репозитории, а также портирован на ProcessingJS в виде демо-заставок Swarm и Random Walk.


Дополнительную информацию по платам можно найти на MAME, Vectrex и Tek 1720.



Подробнее..

Перевод История ретранслируемого интернет-чата (IRC)

20.04.2021 16:13:49 | Автор: admin


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

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

Начало


IRC зародился летом 1988 года, когда Яркко Wiz Оикаринен написал первый IRC-клиент и сервер в университете Оулу, Финляндия, где он трудился в научном отделе по обработке информации.

Яркко намеревался расширить возможности BBS (электронной доски объявлений), которую он администрировал на tolsun.oulu.fi, чтобы добавить в нее новости в формате Usenet, диалоги в реальном времени и прочие возможности. Первым делом он реализовал чат, для чего использовал код, написанный его друзьями Юрки Куоппала и Юккой Пихль. Изначально эта разработка была протестирована на одной машине. Яркко об этом первом пуске позже говорил так: День рождения IRC пришелся на август 1988. Точная дата неизвестна, но где-то в конце месяца. Первый IRC-сервер получил имя tolsun.oulu.fi.

Юрки Куоппала подтолкнул Яркко обратиться к университету Оулу с просьбой разрешить использовать код IRC за его пределами. Руководство университета не возражало, и после итогового релиза Юрки сразу же настроил сервер, который позже получил адрес irc.cs.hut.fi. Так родилась первая сеть IRC.

Ари Леммке впоследствии вспоминал: Когда Юрки устанавливал ircd, я находился в том же помещении. Мне как раз нечем было заняться, поэтому я решил взломать tolsun (Sun машина irc-сервера в Оулу) и, естественно проник через новую дыру в sendmail. Хотя все же в то время Юрки был лучшим известным мне взломщиком

У Яркко были кое-какие друзья в университетах Тампере и Хельсинки, которые помогли запустить дополнительные IRC-сервера, когда число пользователей начало расти.
Вскоре за ними последовали и другие ВУЗы. Маркку Ярвинен помог с доработкой клиента, и в тот момент Яркко понял, что остальная часть функционала BBS в его программу может не войти.

Он связался с ребятами из Университета Денвера и Университета штата Орегон. У них также функционировала IRC-сеть (программу они получили от одного из друзей Яркко, Виджая Субраманьям первого не финна, использовавшего IRC), и они хотели подключиться к основной финской ветке. Рост IRC продолжился, и использовать его начали уже по всей национальной сети Финляндии, Funet, после чего произошло дальнейшее расширение и подключение к скандинавской Nordunet. В ноябре 1988 года IRC распространился уже по всей мировой паутине.

  • К середине 1989 года чат насчитывал 40 серверов по всей планете.
  • В этом же году Майклом Сандорфом был выпущен ircII.
  • В июле 1990 года IRC насчитывал в среднем 12 пользователей в день на 38 серверах.
  • В 1990 году была настроена новая сеть для разработки обновленной версии ircd (2.6). Эта сеть получила название ChNet и насчитывала около 25 серверов. Правда, просуществовала она всего несколько месяцев, пока разногласия между разработчиками не привели к ее распаду.

EFnet


В августе 1990 года в мире IRC произошел первый серьезный раскол. Сеть Anarchy (A-net) подключила сервер с адресом eris.berkeley.edu. Он был полностью открыт, не требовал паролей и не устанавливал ограничений на количество подключений. Как пояснял Грег Wumpus Линдхаль: Эта сеть использовала линию общей маской подключений (wildcard server line), в результате чего люди подключали серверы, и возникали повсеместные коллизии никнеймов.

В результате путем установки карантина для eris.berkley.edu была организована EFnet (сеть без Eris), о чем Wumpus рассказывал так: Администраторы Eris отказались удалять эту линию, и в ответ я сформировал EFnet. Особой борьбы не было. Я просто объединил хабы, и практически все подключились ко мне. В итоге ANet включала в свой состав серверы Eris, а EFNet представляла оставшуюся часть сети. Как показывает история, большинство серверов и пользователей предпочли лагерь EFnet. Тем не менее вскоре ANet распалась, и EFnet стала вновь единой IRC-сетью.

Следующей отколовшейся сетью стала TubNet, созданная группой людей из канала #hottub, которым надоели постоянные отключения узлов (netsplits). Состояла она из 5 серверов и около 100 пользователей. Закончилось ее существование в сентябре того же года.

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

Undernet


Еще одно ответвление, которое первым внесло существенные и долгосрочные изменения, было инициировано Wildthang в США в октябре 1992 года (он создал ответвление от EFnet ircd v. 2.8.10). Изначально эта сеть отделялась как тестовая и предназначалась для разработки ботов, но очень быстро переросла в сеть для друзей и их друзей. Попутно с этим в Европе и Канаде над новой сетью работали _dl и WIZZARD. В итоге в декабре французские серверы подключились к канадским, и в конце месяца эта сеть объединилась с сетью Wildthang в США. Позже эта новая сетевая коалиция получила имя The Undernet.

Ее пользователи хотели продолжить развитие ircd, желая избавить сеть от проблем с пропускной способностью и разобраться с беспорядком в работе каналов (постоянными отключениями и захватами), от которого начинала страдать EFnet. Для решения проблемы с каналами в Undernet реализовали временные метки, новый вид маршрутизации и предложили CService программу, которая позволяла пользователям регистрировать каналы и в последствии защищала их от злоумышленников. (В некоторой степени это был глобальный защитный бот). В самый первый список серверов, объявленный 15 февраля 1993 года, вошли серверы из США, Канады, Хорватии и Японии. Спустя полгода, 15 августа было зарегистрировано новое рекордное число пользователей, составившее 57 человек.

RFC


В мае 1993 года для протокола IRC выходит документ RFC (Request for Comments) под номером 1459. В дальнейшем его спецификация неоднократно нарушалась и дополнялась. Стоит отметить, что части CTCP (протокол Client-to-Client) и другие составляющие, такие как цвета и форматы, в спецификацию включены не были, равно как и кодировка символов.

Dalnet


Летом 1994 года (в некоторых источниках отмечается июль) ответвление происходит уже от самой Undernet. На этот раз новая сеть получает имя Dalnet в честь своего основателя, dalvenjah. Новая сеть предлагала повышенное качество сервиса и еще более улучшенную защиту каналов и пользователей. Одно из основных начальных изменений Dalnet состояло в использовании более длинных никнеймов (в оригинальном ircd длина ограничивалась 9 символами). Все соответствующие модификации были внесены Алексеем Lefler Косутом.

Таким образом Dalnet базировалась на ircd-сервере Undernet, хотя первыми в нее пришли те, кто в свое время покинул EFnet из-за недовольства. Джеймс Нг говорил, что: Первыми пользователями Dalnet стали операторы из канала #StarTrek, уставшие от постоянных сплитов, лагов, захватов и т.п.

Эта сеть почти сразу предложила глобальные WallOps (сообщения IRCop, доступные для просмотра пользователями +w (/mode NickName +w)), более длинные никнеймы, недопустимые (q-lined) никнеймы (например, ChanServ, IRCorp, NickServ и т.п.), глобальные k-line (бан человека или всего домена на сервере или по всей сети), коммуникации только в IRCorp: GlobOps, режим +H, показывающий, что IRCorp является helpop и т.д.

Многие из новых функций Dalnet были написаны в начале 1995 года Брайаном Morpher Смитом. Они позволяли пользователям владеть никнеймами и каналами, отправлять памятки, а также предоставляли ряд других возможностей.

oz.org


Очередное ответвление произошло в марте 1996 года, когда одинокий австралийский сервер отключился от Undernet из-за сложностей со связью через транс-тихоокеанское подключение между США и Австралией. Первые несколько месяцев существования oz.org были пробной попыткой отключения от Undernet из-за невозможности поддержки соединения в пиковые часы нагрузок. Один из двух разработчиков (chaos и seks) изначального chanserv (сервиса каналов) X и W в Undernet был австралийцем, поэтому для создания Z (название chanserv) в Oz.org использовался тот же код. В июне 2001 года пиковое количество пользователей oz.org достигло 4 000.

IRCnet


В июле 1996 года, спустя месяцы пламенных сражений и обсуждений в списках рассылки, произошло еще одно отделение, вызванное несогласием в стратегии развития ircd. В частности, европейская сторона, позже назвавшая себя IRCnet, отстаивала задержку ников и каналов, в то время как сторона EFnet выступала за использование временных меток. Большая часть серверов IRCnet находились в Европе, а большинство серверов EFnet базировались в США. Во многих IRC-сообществах это событие еще назвали The Great Split (великим разделением). С тех пор (август 1998 года) EFnet продолжала расширяться, и ее размер превысил показатели до ответвления IRCnet. А осенью 2000 года число пользователей в EFnet было уже выше 50 000, а в IRCnet даже перевалило за 70 000.

Freenode Open Projects Network


Еще одна IRC-сеть была запущена в 1998 году под названием Open Projects Network (сеть открытых проектов). В том году число ее пользователей приблизилось к 100, а количество каналов к 20. В конце 2001 года населенность сети составила уже около 4 000 человек и более 1 300 каналов. Первые пару лет OPN работала на ircu, после чего перешла на IRCD-сервер Dancer.
Позже сеть была переименована во Freenode.

В 2011 году ее рост достиг 65 000 пользователей и 40 000 каналов.

Другие сети


Конечно же, с ростом популярности интернета рос и спрос на IRC. В 2010-е годы существовали сотни независимых IRC-сетей, включая amiganet, linuxnet, galaxynet, bestnet, NewNet, AnotherNet, ChatNet, UpperNet, ZAnet, X-Net, GammaNet, SuperChat, IceNet и др. Однако среди огромного их числа явно выделялись всего четыре основных, продолжавшие развивать собственную версию программного обеспечения ircd-сервера.

Дальнейшие шаги по стандартизации


В январе 1998 года возникла инициатива IETF-IRCUP для сбора всех специфических особенностей IRC и документирования нового RFC с последующей установкой стандарта, которому бы следовали все сети. Реализация этой инициативы так и не состоялась.

Годом ранее Бьорн Рииз начал другой проект, CTCP/2, желая разработать и стандартизировать протокол Client-to-Client, который никогда не был частью RFC. Было известно, что клиенты расширяли и изменяли изначальный протокол CTC, не позволяя несоответствующим ему клиентам фильтровать новые коды. CTCP/2 же должен был определять способ ввода кодов, в особенности новых, которые бы позволили старым клиентам продолжать функционировать. Он также должен был решать проблемы с IPv6, которые отмечались в последовательности инициирования DCC. Финальной стадии этот проект тоже так и не достиг.

Популярность IRC


Согласно данным irc.netsplit.de, начиная с 2004/05 годов IRC, количество пользователей IRC начало постепенно убывать. В те годы каждой из 4 крупнейших сетей, а именно Quakenet, Undernet, IRCnet и EFnet, ежедневно пользовались более 100 000 человек. Лидировала в этом списке Quakenet, состоявшая из более, чем 200 000 пользователей.

Примечание ред.: сложно сказать, существуют ли еще активные интернет-чаты в 2021 году. Большинство людей перешли к использованию более удобных мессенджеров, таких как Telegram, WhatsApp и др.

Другие статьи по истории IRC (англ.).

Подробнее..

Подстава века или таинственная история взлома Ситибанка

19.04.2021 14:06:47 | Автор: admin


Было время, когда хакеры промышляли взломом ради удовлетворения собственного любопытства и исследовательского зуда, а вред, который могли причинить вредоносные программы, ограничивался переворачиванием изображения на экране вверх тормашками и доносящимися из динамика компьютера неприличными звуками. Потом времена изменились, и на первое место вышли корыстные мотивы. Киберпреступность взяла на вооружение самые современные методы взлома, и одной из основных целей хакерских атак стали банки. Как говорится, just a business, ничего личного.


Один из самых громких случаев взлома банков далеко не первый, но получивший широкую огласку в СМИ случился еще в 1994 году, и имел, как принято говорить сейчас, русский след. 30 июня 1994 года выпускник Ленинградского технологического института, 27-летний микробиолог Владимир Левин вторгся в компьютерную систему американского Ситибанка, и в течение пяти месяцев похитил с клиентских счетов более 12 млн. долларов. При этом порядка четверти миллиона до сих пор не найдено, несмотря на старания сотрудников ФБР, которые принимали активное участие в расследовании инцидента. Поскольку злодей не уделял достаточного внимания собственной анонимности, фэбээровцы довольно быстро выяснили, что взлом осуществлялся из помещения питерской компьютерный фирмы Сатурн СПб, а с помощью сотрудников МВД России быстро установили личность хакера. Им и оказался сотрудник этой небольшой компании Владимир Леонидович Левин, 1967 года рождения, проживавший с родителями в скромной квартире на Светлановском проспекте. Так как в российском Уголовном кодексе того времени отсутствовала статья за компьютерные преступления, привлечь Левина к ответственности не представлялось возможным. Чтобы арестовать хакера, сотрудники спецслужб решили выманить его за границу, для чего затеяли целую психологическую игру. Они заставили задержанных подельников звонить Левину по телефону с сообщениями, что его вот-вот поймают, а их российские коллеги натравили на Владимира братков, требовавших поделиться нетрудовыми доходами. Не выдержав такого прессинга, Левин решил сбежать в Великобританию к знакомому своей матери, где и был задержан прямо в аэропорту Стэнстед, едва спустившись с трапа самолета. Произошло это 3 марта 1995 года.



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

Отсидев чуть больше 12 месяцев в британской каталажке, Владимир Левин был экстрадирован в США, где суд назначил ему 3 года лишения свободы. Но ещё до этого, благодаря многочисленным публикациям СМИ, Левин заработал репутацию величайшего и крутейшего хакера современности, встав в один ряд с Кевином Митником, Джонатаном Джеймсом и прочими парнями, оставившими свой след на пыльных тропинках далёких планет мировой киберпреступности. Казалось бы, бдительность сотрудников Ситибанка и профессионализм агентов ФБР позволили быстро раскрыть преступление века и вернуть большую часть украденного своим законным владельцам. Но есть в этом деле пара тёмных пятен, которые не позволяют сказать, что мировой общественности известны абсолютно все детали этого громкого киберпреступления.

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

И вот тут-то возникает второй вопрос, который ставит под сомнение всю эту широко разрекламированную историю про гениального русского хакера, провернувшего на известном месте банковскую систему Соединенных Штатов Америки. Дело в том, что Владимир Левин в достаточной степени не владел английским языком. И в школе, и в институте он учил французский, а язык Шекспира знал на уровне Ландан из зэ кэпител оф Грейт Британ и чтения технической документации со словарем. По слухам, разговорный английский он смог выучить, уже находясь в американской тюрьме, благо, там у него появилось для этого достаточно свободного времени. Напрашивается вывод: сам Владимир Левин вряд ли мог использовать социальную инженерию или изощренный хакерский инструментарий для совершения этого преступления. В пользу такого вывода говорит и тот факт, что после ареста сотрудники ФБР пытались привлечь Левина к сотрудничеству, однако крепко обломались. Не потому, что русский хакер отказывался работать на спецслужбы вероятного противника, а потому, что оказался бесполезен его квалификация не позволяла принять деятельное участие в дальнейшем расследовании. Так кто же тогда взломал Ситибанк?

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

Эта история так навсегда и осталась бы покрыта мраком неразгаданной тайны, если бы 17 апреля 2012 года в дайджесте Независимый обзор провайдеров не была опубликована статья Дело Левина: недостающее звено, которая сейчас уже благополучно выпилена из этих ваших интернетов. В заметке некий анонимный хакер под ником ArkanoiD поделился с читателями подробностями о том самом легендарном взломе, одним из участников которого он, по его собственным словам, являлся. К тому моменту все сроки давности данного преступления уже давно прошли, поэтому ArkanoiDу было нечего опасаться. А у общественности, соответственно, нет ни малейших оснований не доверять его словам.

Итак, ArkanoiD поведал, что за взломом Ситибанка на самом деле стояла международная группа хакеров, которая занималась исследованием безопасности сетей, построенных с использованием протокола X.25. В 1994 году эта технология широко применялась для построения LAN на базе телефонных сетей, поскольку протокол позволял осуществлять передачу данных через низкокачественные линии с большим количеством ошибок благодаря развитому механизму их коррекции. Именно протокол X.25 использовался в сетях Ситибанка. Обнаруженные уязвимости в механизме авторизации пользователей позволили хакерам получить доступ к BBS электронной доске объявлений банка. Видимо, для удобства взломщиков BBS показывала всем желающим собственные файлы конфигурации, а также список IP-адресов доступных по протоколу ARP узлов с комментариями на английском языке. Соединившись со всеми узлами по очереди, хакеры получили доступ к нескольким шлюзам, через них к модемным пулам и внутренней сети Ситибанка. Был обнаружен роутер, к которому можно было подключиться Telnetом из внутренней банковской сети, и наоборот, из интернета попасть через этот роутер в сеть Ситибанка, а из нее в электронные почтовые ящики нескольких сотрудников. Поскольку логины и пароли для доступа к банковским счетам клиентов часто передавались в почте в незашифрованном открытом виде, перехват сообщений e-mail позволил злоумышленникам собрать неплохую коллекцию учетных данных. Некоторые пароли были получены с помощью брутфорса, благо, они оказались нестойкими к перебору по базовому словарю. Из этой же скомпрометированной сети они без всякого труда скачали инструкции по доступу к различным внутренним сервисам банка.

Несмотря на то, что внутренняя сеть Ситибанка все-таки была оснащена системой предупреждения о несанкционированном доступе, служба безопасности никак не реагировала на многочисленные автоматические сообщения о вторжении, что позволило взломщикам действовать практически не скрываясь. Раздолбайство админов доходило до того, что, по словам ArkanoiDа, однажды он запустил на одном из банковских серверов игру Star Trek и рубился в нее по сети, так и оставшись незамеченным. ArkanoiD утверждал, что вскоре его группа получила фактически полный доступ к банковской инфраструктуре хакеры обладали админскими паролями от внутренних серверов, располагали поэтажными планами размещения оборудования в офисах Ситибанка, данными для доступа к клиентским счетам и даже иногда помогали сотрудникам решать мелкие технические проблемы.

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

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

Что же касается личности самого таинственного ArkanoiD'а, то в 2005 году Lenta.ru писала о нем следующее:

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


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

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



Наши серверы можно использовать для разработки на любых языках программирования.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Мозг, смысл и конец света

09.04.2021 16:11:40 | Автор: admin

Напомню предысторию. Меня зовут Алексей Редозубов и я занимаюсь созданием сильного искусственного интеллекта. Мой подход крутится вокруг контекстно-смысловой модели работы мозга. Об этом был цикл статей на хабре и много видео на Youtube. Сейчас я хочу рассказать об основах контекстно-смысловой модели и о недавних исследованиях, которые позволили взглянуть на эту модель с новой, неожиданной стороны. Исследованиях невероятных настолько, что уверен многие сочтут их безумием.

Есть два интересных и важных термина искусственный интеллект (ИИ) и сильный искусственный интеллект (СИИ). В английской традиции Artificial intelligence (AI) и Artificial general intelligence (AGI). Первый подразумевает любую деятельность компьютера, имитирующую человеческий интеллект, второй только такую, которая претендует на что-то универсально общее, похожее на то, как мыслит человек.

Точного определения СИИ нет. Лучшее, что есть это знаменитый Тест Тьюринга.

Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы ввести человека в заблуждение, заставив сделать неверный выбор.

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

Отметим очень тонкий и при этом очень важный момент. Простой ИИ может во много раз превзойти человека в какой-то области. Например, сильнее играть в шахматы, обыгрывать в Го или Starcraft. Но от этого он не становится сильным.

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

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

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

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

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

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

Поясню на примере. Прочитав шутку, вы смеетесь. Объявление: меняю бензопилу на протез. Но если вас спросить, что в шутке смешного, вы озадачитесь и скорее всего дадите объяснение, которое будет неверным. Если бы ваше объяснение было верным, то вы, зная секрет юмора, могли бы легко придумывать смешные шутки и стать знаменитым юмористом. Ваш мозг всегда знает, смешно или не смешно, но вы практически никогда не можете объяснить, почему. Более того, ваш мозг тонко чувствует разницу между просто смешным и юмором, а вы?

Так вот, мы будем говорить о смысле в том понимании, какое стоит за этим словом, когда мы используем его в речи, не пытаясь дать ему четкого определения. Дело в том, что наивное определение, которое дается, пока явление еще не понято, будет обязательно построено на неких видимых признаках и в итоге опишет нам совсем другое. Платона попросили дать определение человека. Он сказал: двуногое без перьев. Диоген принес ощипанного петуха и сказал: вот человек.

Сказанное не значит, что смысл непостижим и не может быть выражен словами. Просто сложные явления не стоит недооценивать. Кстати, для извлечения неочевидных скрытых знаний Сократ придумал удивительный метод, который так и называется: метод Сократа. Метод актуален сегодня, как был и во все времена, очень рекомендую.

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

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

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

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

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

И вот мы подходим к самому интересному. Хорошо, внутри у нас есть набор понятий. За каждым понятием стоит некое содержание. Но как мозг это содержание описывает? Что это за содержание? Каков его механизм? Собственно, это и есть те самые главные вопросы, от ответа на которые все зависит. Ведь, по сути, мы говорим о том, что за каждым понятием стоит некий смысл. И этот смысл и определяет содержание понятия. То есть, когда мы говорим, что мозг умеет, наблюдая за миром, формировать понятия, мы говорим о том, что мозг умеет формировать описания смыслов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Так что же такое смысл и чем он отличается от определения? Попробую объяснить. Предположим, есть нечто, на что мы смотрим. Допустим, мы не узнаем предмет перед нами. Тогда мы можем изменить точку зрения и посмотреть на него с другой стороны. Если изучаемый предмет в принципе нам знаком, то должна найтись такая точка зрения, с которой мы его, наконец, узнаем. На этом можно было бы и закончить, предмет опознан, что еще? Но важно (и об этом часто забывают), что кроме того, что нам удалось понять, что перед нами, мы еще узнали и точку зрения, глядя с которой, у нас все и сложилось.

Почему это важно? Дело в том, что любое понятие может быть точкой зрения. За всяким понятием стоит явление, которое меняет наше восприятие мира. Одно и то же мы начинаем видеть по-разному в зависимости от того, через призму какого явления мы смотрим. Ицик, сколько будет дважды два? А мы таки покупаем или продаем?. Так вот, если, глядя через призму явления, мы увидим правдоподобную картину, то это будет означать, что скорее всего в этот момент присутствует и само явление. Дважды два пять продаем, три покупаем.

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

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

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

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

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

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

Но как в случае контекстов оценить достоверность трактовки? Очень просто трактовка должна выглядеть, как что-то нам ранее знакомое. Это значит, что надо иметь память того, что мы знаем, и сравнивать трактовку с памятью. Увидели что-то знакомое, значит, контекст подходит. Причем во всех контекстах память должна быть одна и та же.

Тут напрашивается сравнение со сверточными сетями. В них один и тот же набор ядер свертки (одна и та же память) примеряется к разным частям изображения. Там, где есть совпадение, мы говорим об обнаружении соответствующего образа. При этом сами позиции, в которых осуществляется свертка, по сути, выступают в роли контекстов. Мы примеряем известные нам картинки в предположении, что эта картинка сдвинута к соответствующей позиции. Поясню, ядро свертки это маленькая картинка. Она примеряется к какому-то месту большой картины. Это равносильно тому, что мы взяли пустую большую картину, в центре которой разместили маленькую картинку. Сдвинули маленькую картинку к нужному месту, а затем сравнили две больших картины.

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

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

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

  • имя понятия. Слово языка или внутреннее кодирование имени понятия.

  • правила трактовки. Правила преобразования, индивидуальные для каждого контекста.

  • память. Накопленный ранее опыт, один и тот же для всех контекстов.

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

Теперь возвращаемся к смыслу. Смысл понятия это и есть описывающий его контекст, состоящий из правил трактовки и памяти. Смысл информации это тот контекст, в котором трактовка выглядит достоверно, и сама полученная трактовка. И, заметьте, что смысл не сводится к определению. Он имеет совсем другую природу, в которой нет привычного прототипа и границ вокруг него.

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

Шифровальная машина Энигма

Примерно в декабре 1932 года Мариан Реевский, польский математик и криптоаналитик, смог разработать алгоритмы, позволяющие потенциально взломать код Энигмы. В это же время французской разведке удалось получить ключи, реально используемые немцами, и передать полякам. Анализируя перехваченные сообщения, Реевскому удалось восстановить внутреннюю схему Энигмы. Для расшифровки немецких сообщений поляки построили шесть машин, бомб, которые позволяли за разумное время перебрать 100 000 возможных кодов и найти среди них верный.

В 1938 году немцы усложнили конструкцию Энигмы, в результате чего расшифровка ее сообщений стала в десять раз сложнее. За пять недель до вторжения Германии в Польшу в 1939 году Реевский и его коллеги передали свои результаты французской и британской разведке. Это позволило англичанам построить в Блетчли-парк батарею из бомб, которая успешно взламывала немецкие коды на протяжении всей войны.

Определенную роль в этом сыграл тот самый Алан Тьюринг, что придумал приведенный в начале тест.

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

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

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

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

Замечу, что разбираясь с контекстным подходом, удобно представлять себе Энигму и ее коды. Если понять правильные сопоставления, многое становится простым и понятным.

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

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

Все, что было сказано, было странно, но не безумно. А где же обещанное безумие? Начнем.

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

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

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

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

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

Алексей Редозубов

Подробнее..

Уроки Symbian OS фиаско топ менеджеров, колосс на глиняных ногах, или неотвратимость бытия?

11.04.2021 10:22:11 | Автор: admin


Страшно представить как летит время, но 1 января 2021 года стало уже 7 с того момента, когда корпорация Nokia прекратила поддержку Symbian OS. В 2014 году разработчики ОС окончательно поставили крест на еще недавнем монополисте в сегменте мобильных операционных систем. Как такое вообще возможно? Всего за 2-3 года из абсолютного лидера превратится в безусловного аутсайдера полностью утратив рынок новых девайсов и еще через пару лет стать официально похороненной платформой.

Как-то полемизируя с коллегой о жизненном цикле ПО прозвучала фраза, что как и любой живой организм программы также имеют свои стадии рождения, становления и конечно же смерти. Более того, развивая свою мысль мой оппонент утверждал, что благодаря интенсификации технологического прогресса, с каждым новым десятилетием этот жизненный цикл программных продуктов сокращается. При некоторой очевидной схожести процессов протекающих в цифровом мире и мире живой природы, все же на сколько корректно такое сравнение? По сути, если оценить статистику распространенности ИТ-сервисов в мире, за последние лет 30, можно констатировать, что мы с вами стали свидетелями грандиозных, по своим масштабам, взлетов и падений. То, о чем 20 лет назад можно было услышать лишь в курилках кремневой долины, через 10 лет покоряет мир. То, что еще 10 лет назад казалось вечным и непоколебимым сейчас валяется в руинах. Если мой коллега действительно прав в своих аналогиях, в каком мире мы окажемся через 10 лет? Реальность где OS Android скатилась к околонулевой доле рынка, а ее официальная поддержка прекратилась и осуществляется сообществом маргиналов-олдфагов, а корпорация Apple тем временем продала свое мобильное подразделение и занялась выпуском микроволновок.

Так все же почему умер Symbian OS? Стратегические ошибки менеджмента, критические изъяны архитектуры, заложенные еще в первые годы становления системы, или все же фатальная неотвратимость жизненных циклов? Об этом и не только мы далее поговорим в статье.

Детство Symbian


Хотя Symbian OS долгое время ассоциировалась с телекоммуникационным гигантом Nokia, а в конце своего жизненного пути и вообще стала его частью, сама платформа уходит корнями в далекие 80-е. Именно в 1980 году, в Британии, была создана компания Psion PLC, которой в недалеком будущем будет суждено поучаствовать в развитии зарождающегося направления мировой ИТ-индустрии персональные цифровые ассистенты, или в более привычной для нас с вами интерпретации носимая электроника. Начав с разработки программного обеспечения для существующих ЭВМ, вскоре компания начала выпускать и собственные девайсы. Имея уже определенный опыт разработки ПО на начальных этапах это были игры и офисные приложения, руководство Psion решило, что для следующего шага в развитии компании необходимо создавать собственную операционную систему. С конца 80-х в Psion началась интенсивная работа над созданием программой платформы SIBO ( SIxteen Bit Organiser ), и соответственно на ее базе OS EPOC. Менее чем через 10 лет после этих событий в 1998 году, мир узнал о создании Symbian OS, а фактически состоялся ребрендинг уже успешно существующего продукта OS EPOC32. Во времена всеобщего хаоса стандартов, огромного количества локальных производителей оборудования и ПО, именно творению Psion PLC ( точнее ее дочерней компании Symbian Ltd. ) будет суждено захватить мир носимых гаджетов, но почему?


Одно из наиболее удачных решений от британской компании Psion Series 5. Именно на этом КПК ковалось будущее самой популярной ОС среди смартфонов нулевых

Естественно, толчком для массового внедрения в наши с вами гаджеты Symbian послужило решение о кооперации компаний Ericsson, Nokia, Motorola наиболее крупных производителей портативной электроники в середине 90-х. Причин по которым выбор производителей пал на малоизвестную Британскую компанию сразу несколько и они весьма существенны. Прежде всего Symbian был разработан под ARM совместимую микропроцессорную архитектуру ( архитектура разработанная, между прочим, также Британской компанией ARM Limited ), благодаря новым процессорам стало возможным создавать энергоэффективные, компактные процессоры так сильно востребованные в носимой электронике. Также немаловажным фактором было, что во всем хаосе существующих тогда ОС, фактически не существовало абсолютно удовлетворяющих заказчиков программных решений для только-только зарождающегося форм-фактора портативных гаджетов и соответсвенно компании так или иначе столкнулись бы с необходимостью глубокой доработки имеющихся платформ. Третий фактор касается существующих ОС. Состоянием на 1998 год уже существовала мобильная платформа Windows CE, и она вполне могла бы удовлетворить двум предыдущим пунктам, однако пребывая в статусе абсолютного монополиста, в сфере создания и распространения ПО, Microsoft выдвинул столь кабальные требования по лицензионному соглашению к будущим партнерам, что гиганты производства телекоммуникационного оборудования просто вынуждены были отказаться от сотрудничества с Microsoft. Не так давно Билл Гейтс сознался журналистам, что допущенные 20 лет назад ошибки в продвижении его мобильной операционной системы Windows Mobile, породили гегемонию Android OS и стоили ему $400 миллиардов недополученной прибыли. Ну и конечно решающей причиной в появлении Symbian стали размеры самих компаний Ericsson, Nokia, Motorola. Данный конгломерат банально мог себе позволить вкладывать огромные ресурсы в перспективное направление разработки собственной ОС, и тут малоизвестная но перспективная Psion PLC подошла как нельзя лучше.


Ericsson R380 хотя и был первым смартфоном под управлением Symbian, пальма первенства среди смартфонов, еще с 1992 года, принадлежит IBM Simon

Хотя OS EPOC32 и появилась еще в 1994, первый смартфон под управлением ее производной Symbian OS, увидел мир только в ноябре 2000 года. Это был Ericsson R380. Система оказалась весьма удачной. По сути, Symbian являлась гибридом вычислительной архитектуры общего назначения и набором компонентов необходимых для функционирования смартфона. В ядре ОС были реализованы все современные на тот момент функции, от управления памятью и поддержки многозадачности, до промежуточного ПО позволяющего работать с мобильными сетями, графикой, поддерживать интернет протоколы, пользовательский интерфейс, управление телефонными вызовами и многое другое без чего и сейчас сложно представить полноценный смартфон. Также платформа позволяла использовать приложения на основе языков программирования Java и C++, являющиеся весьма прорывными для своего времени.



Становление


Хотя исходный код своей платформы Symbian Ltd. откроет аж в 2010 году, что по мнению многих экспертов отрасли стало слишком запоздалым решением, в начале нулевых закрытое ПО было вполне обыденным делом. В то время рынок создания программ сторонними разработчиками был крайне ограничен, и скорее нес больше рисков для конечного потребителя нежели преимуществ. Кроме того, при формальной закрытости платформы, количество партнеров принимающих участие в жизни Symbian было весьма внушительным. В разные годы в проект были вовлечены, кроме уже озвученных, еще и Samsung, Sharp, Fujitsu, LG, Sony, Panasonic, а также целый ряд более мелких компаний, что позволяло постоянно развивать и усовершенствовать перспективную платформу.



Все это вроде как звучит прекрасно, но если посмотреть более детально на сложившуюся картину, мы увидем довольно парадоксальную действительность. Все вышеназванные кампании если и были в чем-то партерами, то исключительно ситуационными, на прилавках магазинов все они чрезвычайно остро конкурировали друг с другом. В погоне за индивидуальностью, почти сразу, производители гаджетов причастных к Symbian Ltd. начали создавать свои собственные оболочки, что поддерживались телефонами с Symbian OS. В то время как Японские производители внедряли MOAP ( Mobile Oriented Applications Platform ), Финский производитель Nokia продвигал собственную линейку Series 60/80/90, Sony Ericsson и Motorola отдавали предпочтение UIQ (User Interface Quartz). Подобное положение вещей хотя и было весьма удобным, подарив унифицированную программную платформу с возможностью ее поверхностной кастомизации, в тоже время заложило мину замедленного действия под всей ОС. Поскольку собственные программные доработки компаний не могли носить фундаментальный характер и все равно базировались на Symbian, особенно важным было принимать решения по ее непосредственному развитию, а заниматься подобными вещами в купе с заядлыми конкурентами по цеху весьма непростое занятие. Ведь у каждой компании было свое виденье рынка и необходимого направления развития для ОС.



Еще одной сильной стороной Symbian являлось то, что используемый под нее программный интерфейс основывался на С++, что в свою очередь позволяло создавать под платформу современные, функциональные приложения. Чего уже говорить об играх написаных на Java, в том числе благодаря которым смартфоны так плотно вошли в нашу жизнь. И все бы было очень радужно, если бы не еще один нюанс. Унаследовав из 80-х от EPOC специфическую структуру оболочки, Symbian OS была довольно требовательна к квалификации программистов писавшим под нее ПО. Вместо поиска решений проблемы упростить разработку, в 2004 году руководство Symbian, в погоне за безопасностью разрабатываемых под ОС приложений еще больше усложнила жизнь разработчикам. Под благим предлогом борьбы с вирусами, спамом и другим вредоносным кодом встраиваемым в приложения, технические перепоны и усилившаяся бюрократия еще больше отвернули рядовых программистов от Symbian OS. До тех пор пока платформа была закрытой, и разработкой приложений под нее занимались крупные компании, эти сложности были не столь уж и критическими и они не могли помешать операционной системе бурно захватывать рынок. Однако, со временем, когда общий тренд в разработке ПО изменился на максимальную открытость и вовлечение как можно большего числа программистов, более простые программные интерфейсы у конкурентов Android, iOS и Windows Mobile стали существенно популярнее среди нового поколения разработчиков, тем самым еще больше маргинализируя Symbian.

Зрелость


Феноменальные 73% от всех установленных ОС на смартфонах это вершина пути Symbian OS. Конечно, остается довольно дискуссионным вопрос первопричин такого успеха. С одной стороны, надо отдать должное весьма функциональной и удовлетворяющей всем вызовам времени ОС, а с другой немаловажным фактором ее распространенности стали те великолепные смартфоны Nokia на которых она была предустановлена. Если сейчас, в основном, работа над дизайном смартфона сводится к тому как бы сделать менее броской монобровь с ее динамиком и фронтальной камерой, в нулевых смартфоны обладали индивидуальностью. Выдвижные клавиатуры, раскладушки, сенсорные, сенсорные с клавиатурой, камерофоны, слайдеры и все это разнообразие выпускалось одновременно, не редко еще и одним производителем! Бесспорным лидером среди производства носимой электроники была конечно же Nokia. Крайне агрессивная политика проводимая компанией по захвату всех возможных сегментов рынка мобильных гаджетов стала немаловажным фактором в распространении Symbian OS. Благодаря конкурентным решениям от Nokia, охватывающим как бюджетных потребителей, так и премиум сегмент, существующие тогда альтернативы Symbian OS Palm OS, Windows Phone, Black Berry OS, зачастую проигрывали своему звездному конкуренту именно по железу. Black Berry OS долгое время ставилась только на нишевые смартфоны из премиум сегмента, Windows Mobile долгое время позиционировался как ОС для Карманных ПК и планшетов, в свою очередь разработчики Palm OS хоть вовремя и переориентировали свою платформу под нужды сотовых операторов, однако выпускаемые под этой ОС смартфоны вряд ли могли тягаться с флагманами от той же Nokia.


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

Достигнув своего пика развития в 2007-2008 годах, чисто внешне, казалось, что Symbian это навсегда. Купающаяся в лучах славы Nokia все больше концентрировала в своих руках власть над Symbian Ltd., тем самым уменьшая разногласия между партнерами, вкладывала в разработку ПО баснословные ресурсы. Рассредоточенные по всему миру подрядчики работали над созданием более адекватного API, допиливали саму платформу, как для своего времени создавали выдающиеся сервисы, чего только стоит картографическая служба OVI Maps. Чисто внешне, ни что не предвещало беды.


В нулевых названием компании Nokia нередко подменяло название мобильного телефона как такового

Появление в 2008 году нового коммуникатор от Apple было интересным событием, однако особо не напугало существующих лидеров отрасли. Логика была в том, что первое поколение iPhonе хоть и обладало революционным дизайном целиком сенсорный экран при отсутствии физической клавиатуры, однако претендовать на глобальное лидерство этот продукт очевидно не мог. Дороговизна гаджета, слабая автономность и высокая степень хрупкость делали не столь важным, что работало это все недоразумение под более удачной нежели у конкурентов операционной системой iOS.

У нас ушло немало лет, чтобы понять, что необходимо для создания приличного телефона. Ребята из Apple, занимающиеся созданием ПК, даже понятия не имеют как этого добиться. Они в этом направлении и с места не сдвинулись Ансип Ваньеки, глава по стратегическому планированию компании Nokia.

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

Нет никакой вероятности, что у Apple что-то получится на рынке телефонов Эд Кулиган, руководитель компании Palm.

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


У фанатов iPhone новый год начинается в первых числах сентября

Кончина


Уверен, если порыться в закромах то многие из нас смогут отыскать старый, но еще работающий смартфон на базе Symbian. Недавно колупаясь в своей старенькой Nokia С6-01, с установленной на ней Symbian OS Belle, словил себя на мысли, что это все еще довольно актуальный смартфон. Хотя и выглядящие весьма архаично, но от того не менее функциональные приложения Skype, WhatsApp, Facebook, Viber, WeChat, JAVA DM Reader, Translate, QuickOffice, Youtube все еще исправно работают!



Крах самой распространенной мобильной ОС в мире был стремителен. Фактическим временем смерти для Symbian OS стал 2012, ведь именно в этом году мир увидел последний выпущенный под этой ОС смартфон Nokia 808 PureView. Весьма интересный и однозначно современный продукт, но ничего изменить он уже не мог. Ситуация была предрешена, ведь всего за 4 года с момента выхода Android OS, доля Symbian OS уже составляла не более 6% от рынка, в то время как его оппонент контролировал около 60%.

Принятое компанией Nokia решение окончательно похоронить свою операционную систему было настолько же неожиданным, насколько и прогнозируемым. Решение менеджмента финского гиганта Nokia, об отказе от дальнейшей работы над Symbian OS и переход на перспективную платформу Windows Mobile прозвучало еще в 2011 году, почти за год до того как был выпущен Nokia 808 PureView, что уже само по себе не предвещало для него ничего хорошего. В 2010 году о планах выйти из Symbian Ltd заявили восточные партнеры по Symbian Ltd Samsung и Sony Ericsson. Последние переориентировали свою продукцию на ОС под управлением Android. Но многие все равно до последнего не верили, что так любимая ОС просто канет в лету.

Эпитафия


Исчезновение Symbian и деградация Nokia это два неотъемлемо связанных процесса. Оба эти события и до сих пор остаются знаковыми для ИТ-сообщества. Пример Symbian крайне интересен еще и тем, что очень двоякий. По сути, его погубило именно то, что сделало в свое время королем горы.

Концепция Android, как открытой платформы, в 2000 году была невостребована, и не несла ничего хорошего кроме рисков, но уже в 2010 году стала решающим фактором в конкурентной борьбе. Стоит также вспомнить, что магазин Google Play, всего за год своего существования, вмещал более чем 100 000 приложений, в то время как OVI Store, под Symbian, к этому времени мог похвастатся всего 10 000 наименований, и со временем этот разрыв только рос. В тоже время пример Apple показал, что закрытая платформа в открытом мире это не приговор. Создай разработчики Symbian вовремя удобные инструменты для работы над приложениями сторонним программистам, плюс реализовав вменяемую систему материального поощрения последних и OVI Store также ломился бы от всевозможных приложений.


Кроме лидерства в количестве приложений, уже в 2011 году выторг App Store перевалил за $1 миллиард долларов, оставив далеко позади всех конкурентов

Концепция iPhone состоящая в единовластном управлении своим продуктом, состоянием на 2000 год, очевидно так же не привела бы Symbian к успеху. Подобную модель, в то время, отыгрывала Black Berry, история которой также далека от хеппи-энда. То огромное количество ресурсов которое требуется для создания своей закрытой среды по плечу, пожалуй, только избранным компаниям. Ведь кроме огромных материальных затрат и колоссального опыта в производстве ПО и девайсов, корпорация Apple обладает еще и жесткой вертикально интегрированной структурой. Каждый раз когда в Купертино демонстрируют новый продукт, он так или иначе идет в дополнение к уже существующему миру вещей и сервисов от Apple. Утверждать, что в 1998 году Nokia смогла бы самостоятельно осилить разработку и внедрение своего уникального продукта весьма опрометчиво. Со временем, набравшись опыта и обладая немалыми финансами, в партнерстве с Microsoft, финны попробуют наверстать упущенное презентовав свой первый смартфон под управлением Windows Phone Nokia Lumia 610, но как мы знаем и эта попытка потерпела фиаско. Провал был спровоцирован, в том числе, нарастающими внутренними проблемами в самой Nokia. За годы безбедного существования компания утратила былую эффективность и была уже неспособна успешно вывести на рынок новый продукт, еще и в условиях разгоревшейся внутренней реорганизации проводимой новым СЕО Стивеном Элопом.

Не менее интересно сложились судьбы компаний причастных к Symbian Ltd Nokia, Ericsson, Motorola, Sony, Samsung. На данный момент единственной действительно успешной из них оказалась Samsung. До массового прихода на рынок мобильных гаджетов китайских торговых марок, Samsung удерживал пальму первенства среди проданных смартфонов с предустановленным Android, по сути повторив ассоциативную связку Symbian=Nokia. Благодаря наилучшему в своих девайсах соотношению цена/качество, они задавили всех своих Андроидных конкурентов ведя борьбу в равных условиях единой для всех ОС. Более того Корейская компания стала на столько успешной в создании OLED панелей, что сейчас производит около 93% всех подобных экранов в мире, и для компании уже не так важно на какой смартфон будет установлена эта панель и под какой ОС он работает.


И кто теперь действительно лидер в мире смартфонов?

Одно можно сказать действительно точно нет ничего вечного под солнцем, и соответсвенно жизненные циклы рождения и смерти также присущи таким не материальным вещам как ПО. Однако как и в мире осязаемых вещей продолжительность этой жизни и ее качество зависит в первую очередь от вовремя принятых правильных решений, а потом уже от времени и рока судьбы. Весьма вероятно, что мы могилы бы сейчас жить в мире где все еще доминирует Symbian OS, а OS Android так и загнулась на уровне перспективного стартапа. Если задать вопрос, кто будет править балом мобильных ОС, скажем, лет через 10? Ответ на него мы с вами однозначно сможем дать, пожалуй, лет так через 10. Может быть именно в этот самый момент идет интенсивная работа над очередным убийцей Андроида? И на этот раз новая ОС действительно сможет в ближайшие несколько лет вклинится в противостояние Android-iOS. Возможно, этот процесс будет форсирован политическим фактор, ведь тот факт, что существующие мобильные ОС, как собственно и десктопные, в данные момент крайне зависимы от политических решений принимаемых одной единственной страной, тоже весьма неоднозначный. В любом случае, мы с вами, будем пристально следить за всем происходящим, в столь непредсказуемом и переполненном взлетами и падениями мире ИТ.



Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Перевод FTP исполнилось 50 лет

18.04.2021 00:07:30 | Автор: admin
image


16 апреля 1971 года-это не только день, когда The Rolling Stone впервые выпустила Brown Sugar, но и день публикации RFC 114, знаменующий день рождения FTP.

В те дни вьетнамская война была в центре внимания, TCP/IP еще не существовал, Джими Хендрикс умер 6 месяцев назад, telnet был новым крутым парнем, а некоторые из самых влиятельных рок-н-ролльных артистов собирались выпустить свои шедевры, в то время как FTP использовал сетевой протокол под названием NCP.

За прошедшие годы протокол FTP был усовершенствован 16 раз, добавивилась поддержка TCP/IP, безопасного расширения, также известного как FTPS, которое использует ту же технологию, что и HTTPS, и более поздние дополнение, такое как поддержка IPv6.



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

В 2021 году то, что кажется признанным прогрессом, принимает форму проприетарных протоколов, сделанных за закрытыми дверями и без каких-либо RFC. Вместо этого поставщикам, желающим создать конкурирующие серверы, остается реверс-инжиниринг SDK, как это сделал Minio с S3.

Кроме того, как мы могли коснуться темы FTP, не вспомнив самый печально известный комментарий на HackerNews, который был основным источником вдохновения при создании Filestash. Действительно, я считаю, что не должно иметь значения, какой протокол использует инструмент моей мамы. Как только этот инструмент станет простым в использовании, она сможет передавать те фотографии, которыми хочет поделиться, открывать видео и делать все другие вещи, которые не должны требовать от нее знания о протоколе, поскольку наша работа инженеров состоит в том, чтобы абстрагироваться от всех этих сложных вещей, чтобы кто-то, кто хочет получить доступ к своему банковскому счету с помощью привычного браузера, не должен был выбирать шифр при согласовании SSL.

Развитие FTP


RFC 114 (апрель 1971 г.)
RFC 697 (июль 1975 г.): CWD Command
RFC 765 (июнь 1980 г.): TCP/IP
RFC 959 (октябрь 1985 г.): Первоначальная спецификация FTP
RFC 1579 (февраль 1994 г.): FTP с поддержкой firewall
RFC 1635 (май 1994 г.): Как использовать анонимный FTP
RFC 1639 (июнь 1994 г.): операция по большим адресным записям
RFC 1738 (декабрь 1994 г.): унифицированные указатели ресурсов
RFC 2228 (октябрь 1997 г.): Расширения безопасности FTP.
RFC 2389 (август 1998 г.): механизм согласования функций для протокола передачи файлов.
RFC 2428 (сентябрь 1998 г.): расширения для IPv6, NAT и расширенного пассивного режима.
RFC 2577 (май 1999 г.): соображения безопасности FTP
RFC 2640 (июль 1999 г.): интернационализация FTP
RFC 3659 (март 2007 г.): Расширение команд FTP
RFC 5797 (март 2010 г.): Реестр команд и расширений FTP.
RFC 7151 (март 2014 г.): Команда HOST для виртуальных хостов
Подробнее..

Перевод Do it

14.04.2021 14:22:42 | Автор: admin

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

Но Ларри Теслер, который был ключевым членом команды Smalltalk в Learning Research Group в Xerox PARC, думал иначе. Он был действительно воодушевлен потенциалом персональных компьютеров и купил Commodore PET, как только тот стал доступен в 1977 году. После посещения Apple Xerox PARC в декабре 1979 года, он был так впечатлен ребятами из Apple, что 17 июля 1980 года он ушел из PARC и начал работать в Apple в качестве менеджера группы Lisa Applications.

Ларри отстаивал согласованность между приложениями и внес большой вклад в то, что в итоге стало пользовательским интерфейсом Macintosh. Он также был основным сторонником и разработчиком пользовательского тестирования в Apple: фактически опробовал программное обеспечение на реальных пользователях и лицезрел их реакцию. Начиная с лета 1981 года, Ларри организовал серию пользовательских тестов зарождающегося программного обеспечения Lisa, наняв друзей и родственников, чтобы они впервые опробовали программное обеспечение, под наблюдением сотрудников Apple, которые записывали их реакцию.

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

Когда программное обеспечение требовало подтверждения от пользователя, оно отображало диалоговое окно, которое содержало вопрос, и представляло две кнопки для положительного или отрицательного ответа. Кнопки были помечены как Do it и Cancel. Сотрудники Apple заметили, что некоторые пользователи, казалось, спотыкались в момент отображения диалогового окна, нажимая Cancel, когда им следовало нажать Do It, но не было понятно, с чем у них возникали проблемы.

Наконец, команда обратила внимание на одного пользователя, которого особенно смутило диалоговое окно, который, казалось, даже немного рассердился. Модератор прервал тест и спросил, в чем проблема. Он ответил: Я не болван, почему программа называет меня болваном?

Оказывается, он не замечал промежутка между o и i в Do It; в системном шрифте без засечек, который мы использовали, заглавная I была очень похожа на строчную L, поэтому он читал Do It как Dolt и поэтому был несколько обижен.

Примечание: Dolt болван

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


Дата-центр ITSOFT размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Подробнее..

Кто придумал стерео запись звука?

07.04.2021 04:04:38 | Автор: admin

Эту статью я уже публиковал на другом ресурсе, но надеюсь и читателям ХАБРа так же будет интересно.

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

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

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

Правда звук в "Театрофоне" уже был не стерео-тянуть две отдельные линии к каждому аппарату было очень дорого.

С развитием индустрии звукозаписи, начались эксперименты по записи стерео звука на грампластинки. Наибольших успехов в этом направлении удалось достигнуть талантливому британскому инженеруАлану Дауэр Блюмлейн(Alan Dower Blumlein).

За два года работы в звукозаписывающей компанииThe Gramophone Company, Алан полностью разработал заново и запатентовал все устройства для записи грампластинок, заметно улучшив качество записи и освободив компанию от патентных отчислений.

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

Через 50 лет эти расчеты очень помогут создателямDolby Surround.

Так же он нашел блестящее решение по записи стереозвука на грампластинки. Алан предложил записывать левый и правый канал на разные стенки звуковой канавки грампластинки по формуле+45/-45.Это стало всемирным стандартомстерео грамзаписи.Другие фирмы предлагали двухканавочную запись или записывать по формуле 0/90.

Разработанная технология стереозаписи опередила время. В 1933 году еще не было материала для долгоиграющих грампластинок.

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

С началом Второй мировой войны переключается на создание радаров для ночных бомбардировщиков.Алан Блюмлейнпогиб в авиакатастрофево время испытания радара в 1942 году. Ему было всего 38 лет.

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

В 2017 году Национальная академия искусства и науки звукозаписи США посмертно наградила Блюмлейна Грэмми как создателя стереофонической звукозаписи

Первая стерео грампластинка была изготовлена только в1958году на аппаратеWestrex (США).

Тут интересный казус: в СССР выпуск стерео электрофонов начался раньше производства пластинок. Первый электрофон"Юбилейный -Стерео"поступил в продажу в1957 году.

Электрофон имел оригинальный корпус в виде двух чемоданов: в одном сам проигрыватель, а второй чемодан разделяется пополам на две звуковые колонки.

Стерео усилитель электрофона, за счет выходного каскада на лампах 6П18П, выдавала мощность 2х12 Вт. Двухполосные акустические колонки, по 4 динамика каждая, имели полосу 70...12000 Гц, что очень прилично для тех лет. К сожалению, вскоре схему упростили для снижения себестоимости.

1961 году начали выпускать первый советский стереофонический магнитофон модельЯуза-10. Конструктивно магнитофон получился так же "двухчемоданный"

Интересное распределение акустики: в магнитофоне два динамика 1ГД-9-150, а на выносных колонках используются 5ГД-1-РРЗ. Практически формат 2.1. образца 61 года.)))

Первым кассетным стереомагнитофоном стала модель "Вильма-Стерео" 1972 года.

Даже сегодня, несмотря на обилие форматов звукозаписи, многие из нас продолжают слушать музыку в формате, придуманномАлан Блюмлейн90 лет тому назад-стереофонии.

Подробнее..

Десятки видов звукозаписи родилось и умерло всего за одно поколение. Сколько Вы вспомните навскидку?

07.04.2021 04:04:38 | Автор: admin

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

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

Это было "золотое время" виниловых грампластинок. Причем на любой вкус и кошелек.

Массовая популярность винила в СССР держалась до середины 80х годов и была вытеснена кассетными магнитофонами. Однако винилу сохранили верность множество меломанов до сегодняшних дней. Стандарт имеет все шансы пережить вторую волну популярности.

Катушечные магнитофоны выпускались с 60х годов, но качество записи-воспроизведения было намного хуже грампластинок. Катушечники первого и высшего класса начали выпускать только в середине 70х, но для многих они были не по карману, поэтому шли на хитрость: записывали катушки на магнитофонах первого и высшего класса, а слушали на магнитофонах второго класса.

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

Хоть компакт-кассеты и придумали еще в 1963 году, но в СССР кассетные магнитофоны стали массовыми только в конце 70х. В первую очередь благодаря именно компактности и удобства использования в переносных магнитофонах. Популярность компакт кассет сохранялась до начала 2000х годов

В 1964 году появился формат кассеты (картриджа) на магнитофонной ленте8 tracks (stereo 8). Благодаря более высокому качеству воспроизведения получил широкое распространение в Японии и США

Однако улучшение качества магнитных лент для компакт-кассет отобрало главный козырь этого стандарта и к середине 70х производство картриджей8 tracksсвернули.

В 1976 году фирма Sony выпустила новый формат аудиокассет:Elcaset.Широкая магнитная лента и скорость вдвое выше чем в компакт-кассете позволяло обеспечить качество на уровне лучших катушечных магнитофонов.

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

В 1982 году появились компактные носители аудио в цифровом форматеCompact Disc Digital Audio (CDDA),а по простому компакт-диски. Этой совместной разработке Philips и Sony пророчили роль убийцы всех форматов.

Формат действительно получил очень широкое распространение, но ему удалось "отжать" лишь часть рынка, да и то спустя почти десяток лет.

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

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

Для использования в быту, фирмы Philips и Matsushita, разработали упрощенный формат цифровой звукозаписи на магнитную лентуDigital Compact Cassette (DCC).

Размеры кассетыDCCбыли специально сделаны под размер аналоговых компакт-кассет. Это позволяло на магнитофонах воспроизводить и аналоговые и цифровые записи. Увы, покупателей вполне устраивало качество аналоговых кассет. Через 4 года выпуск свернули из-за низкого спроса.

Видя, что запись на магнитных лентах не сдает свои позиции, фирма Sony представила в 1992 году перезаписываемый формат звукозаписи:магнитооптический диск MD. Диск вмещал 80 минут записи и позволял быстро получить доступ к любому участку записи.

Стандарт не получил широкого распространения, хотя и производили довольно долго.

Феноменальный успех стандарта видеозаписи VHS не мог оставить равнодушным разработчиков аппаратуры звукозаписи. Были разработаны 6ти головочные видеомагнитофоны, где две головки отводились для звукозаписи Hi-Fi качества. Дальнейшим развитием стандарта стал формат S-VHS, на базе которого была разработан стандартADAT,который позволял записывать на видеокассету 8 аудиоканалов

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

Видя такую популярность формата, подсуетились и производители, настала эра MP3 плееров

Интересной попыткой дать вторую жизнь компакт дискам было создание форматаDataPlay. Перезаписываемый диск диаметром всего 32 мм. вмещал 500 мб информации.

Увы, успехи флеш-карт не оставили формату шансов.

Прогресс в производстве карт памяти превратил телефоны и смартфоны в музыкальный центр практически с неограниченной фонотекой.

Это мы рассмотрели только самые известные стандарты, а сколько еще было разработок, закончившихся мелкосерийным выпуском?

Это моя первая статья на Habr. Просьба ругать не сильно, но конструктивно. Буду рад советам и подсказкам

Подробнее..

Уникальный даже в мировой практике советский проигрыватель Высшего класса Корвет 1978 года

08.04.2021 00:07:41 | Автор: admin

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

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

Благодаря его математическим расчетам и была выбрана оптимальная конструкция тонарма проигрывателя"Корвет ЭП-003". Коллеги в шутку называли конструкцию "яйцо Лихницкого". Анатолий Маркович знал об этом, но не обижался.

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

Зачем тонарму такой шар?Титановый шар, подвешенный в сферической полости и заполненный вязкой жидкостью выполняет роль демпфера резонансных колебаний ультранизких частот. Для максимального снижения трения в осях применены магнитные опоры и призмы. Такие технические решения, для бытовой техники того времени вообще был нонсенс, но не для конструкторовНИИ Морфизприбор. После триумфа"Бриг-001-стерео"в 1974 году, ребятам разрешалось воплощать самые смелые идеи.

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

Специальная головка"ГЗМ-018 Корвет"с бериллиевым иглодержателем и с алмазной иглой, имело массу подвижной системы всего 0,8 мг.

Надо отдать должное дизайнерам-все элементы проигрывателя выполнены просто "на отлично".

В 1978 году началось серийное производство на Кировском заводе"Ладога", под Ленинградом. Даже зарубежные покупатели, избалованные богатым ассортиментом, с восторгом приняли появление этого проигрывателя. Обладать парой"Корвет ЭП-003"+"Бриг-001-стерео"было вообще вершиной грез.

С 1983 года завод перешел на выпуск модели"Корвет-038-стерео".

Это не единственная уникальная разработка коллективаНИИ Морфизприбор-если читателям будет интересно, с удовольствием расскажу.

Статью ранее публиковал на канале Полезные Интересности

Подробнее..

Кто помнит старшего брата CD и DVD?

08.04.2021 00:07:41 | Автор: admin

Интересный парадокс: лазерный диск появился до изобретения лазера! Как же такое могло случится?

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

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

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

В 1968 году компанияMCA ( Music Corporation of America )выкупила патентные права на оптический диск уГрегга,чтобы довести идею до коммерческого продукта. Через год компанияPhilipsобъявила о создании своего формата видеосистемыLaserDisc. Основным отличием этой системы было использование отраженного от диска света. Объединив усилияPhilipsиMCAразработали технологию производства лазерных дисков. Опытные образцы дисков были готовы еще в 1972 году, но коммерческая продажа началась только в 1978 году.

как Вам диск диаметром 30 см?

Philipsвскоре потерял интерес к лазерным видеодискам и продал все права на технологию японской фирмеPioneer.Такой радикальный шаг объясняется несколькими причинами: низкая эффективность сотрудничества сМСА, появление сильного конкурента - кассетного формата видеозаписиVHSи самое главное-активное продвижение нового детища:цифрового лазерного аудио форматаСD(Compact Disc Digital Audio),младшего брата видеодисков.

Японцы поменяли торговую марку наLaser Vision Discи внесли существенные улучшения в технологию. Видеодиски стали двухсторонними и появилась возможность выбирать между аналоговым и цифровым звуковым сопровождением. Улучшили схемотехнику проигрывателей и разработали горизонтальную загрузку диска.

В 1988 году формат модифицируется наHi-Vision Laser Disc. В этой модификации уже и звук и видео идет в цифровом виде. Чуть позже добавился шестиканальный звук превратив устройство в домашний кинотеатр. Так же появилось куча сервисных возможностей в управлении.

Интересна география распространения форматаHi-Vision Laser Disc. В Европе он практически полностью уступил рынок рынок кассетному стандартуVHS. Лишь горстка фанатов упорно продолжали пользоваться вопреки общей моде. Заметно лучше была ситуация в США-там насчитывалось около 2 миллионов пользователей и лучше всех в Японии-в каждой десятой семье.

Появление в 1996 году видеоформатаDVDсильно пошатнуло позиции форматаHi-Vision Laser Disc, но фирмаPioneerупорно продолжала выпускать новые фильмы на дискахLDаж до 2003 года. Официальная версия завершения производства: нерентабельность из-за маленького тиража.

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

Лазерные видеодиски стали родоначальниками для многочисленного семейства форматов: Audio CD, 5.1 Music Disc, Super Audio CD, CD Video (CDV), Video CD (VCD), Super Video CD , CD-ROM XA , CD-Extra , CD-i Bridge , CD-i, DVD-Audio , DVD, HD DVD, Blu-ray Disc (BD).

Эту статью я ранее публиковал на канале Полезные Интересности

Подробнее..

Удивительная однозвенка на MS SQL

07.04.2021 14:14:13 | Автор: admin

... с объектной ориентированностью, сериализацией, reflection, полиморфизмом, визуальным программированием, no-code, блэкджеком и шлюхами - и это на MS SQL 6.5 1995 году!

Знакомые с историей IT при слове "однозвенка" вспомнят dBase и Clipper. Однако, я расскажу об ERP однозвенке. Интерфейсная программа для этой ERP общалась с базой через несколько интерфейсных таблиц и несколько процедур. То есть фактически она является браузером, который за слой не считается. Да, это #ненормальное программирование, которое дало ряд уникальных свойств.

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

Система называлась Ultimа-S, она же Nexus. Судьба ее была незавидна - эта ERP делалась на продажу, а продаж не было. Что, впрочем, было естественно - мы, в том числе автор этих строк, не имели ни малейшего понятия о маркетинге и продажах. Зато я имел удовольствие развлечься за счет работодателя. Итак,

Поехали

Берем установочные скрипты и устанавливаем систему на MS SQL 2019. Правда, базу пришлось загнать в compatibility mode. Запускаем exe. Он, кстати, крошечный (мне пришлось найти ntwdblib.dll):

и в памяти занимает примерно столько же, сколько Notepad:

fgfg

Запускаем nexus.exe, и открываем иерархию классов:

При использовании возникает очень интересное чувство, которое я не испытывал со времен MS DOS. Многие операции отрабатывают мгновенно. Нет, реально мгновенно. В современных программах, даже WinForms (я уж не говорю про Web), код настолько тяжел, столько динамически отводит памяти и столько раз вызывает GC, что глаз замечает видимые задержки. Мы к ним привыкли и не замечаем. Но когда программа реально рисует окно после нажатия на клавишу за время одного фрейма экрана, то это удивляет. А когда-то, во времена MS DOS, это было нормально.

Как это работает?

Вся коммуникация с сервером происходит через несколько процедур и три (с небольшим) таблицы. Хочется раскрыть папку - вызываем процедуру, передавая id папки, а в результирующую таблицу сваливается список документов, которые там находятся. Причем клиента не интересует, как этот список получился.

Делаем right click и хотим получить список свойств?

Тоже через таблицу. Пользователь видит user friendly имена свойств, а еще у них есть системные id, среди которых - как правило 'view' (read only просмотр по умолчанию) и 'edit' (основное редактирование).

Наконец, мы выбрали свойство и хотим посмотреть документ. Результат выдается через таблицу Detailed где есть id полей, значения (есть колонки для разных типов) и колонку форматирования. Это поле в первой букве содержит тип значения int, float, money, string, document (который на самом деле тоже int), а дальше название для человека и некие теги указывающие поведение, например: fширина^min=0^max=10.0

Вас конечно заинтересовало, если таблицы для коммуникации общие, то как могут одновременно работать много клиентов? Все очень просто - у всех этих таблиц есть поле spid (=@@spid). А все клиенты открывают ровно одну коннекцию и используют только ее (да, такой дизайн был нормой). Никаких connection pools. Представляете как легко сделать пессимистичные блокировки - по spid вы точно знаете что клиент не отсох и даже с какого hostnamе он работает!

Обычно клиент располагает поля сверху вниз, но для важных документов могут быть задизайнены красивые формы. И да, теперь языком дизайна был бы наверняка HTML, а языком сценариев (min^ max^ и полее сложные пересчетом totals) был бы JS.

Объектная ориентированность

Все документы в системе произведены от общего класса Doc. При создании производных классов создаются документы типа Класс, осуществляя своеобразный Reflection. Часть иерархии классов вы могли видеть на первом скриншоте. Классы могут быть и абстрактными.

При выполнении операции (раскрытия папки, получения свойств и отображения) вызываются процедуры с именами вида Class_operation_ID_, причем вначале идет волна 'pre' свойств, начиная от Doc к листьевому классу, а потом 'post', в обратном направлении, от листа к корню. Как правило, все свойства pre, а post полезен для удаления данных (удаления лучше делать обратном порядке, от detail таблиц к master).

Для pre свойство очередного класса 'видит' что натворили классы под ним, поэтому может не просто добавить поле или свойство, но и 'надругаться' над тем, что сделано до него - переименовать свойство или вообще убрать его, сделать поля read-only, дать им умолчания или вообще скрыть поля с помощью специального флага (но не удалять - иначе будут проблемы при записи)

Ниже вы видите пример процедур на SQL, к которому был прикручен самописный макроязык. Обратите внимание как производный класс изменяет friendly name свойства пользователя, а также иногда добавляет новое свойство.

Работа через Detailed давала еще одну интересную возможность: сериализация. Ведь можно просто вызывать свойство view (например), получить ответ, и запомнить его. Получалась мертвая копия, ксерокс, но выглядела она как настоящий документ - только была read-only.

Аналогично, Аудит (история изменений) работала на уровне корневого класса Doc, сравнивая Detailed до и после редактирования. Все производные классы были освобождены от необходимости следить за аудитом редактирования!

No-code

Система позволяла мастерить новые документы прямо через интерфейс. Сейчас покажу пример. Создадим класс, производный от пользователя:

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

Теперь через right click на образовавшемся классе создадим расширение, то есть новое поле - число пальцев от 5 до 10.

Теперь мы создаем сотрудника, указав число пальцев 5, и записываем его.

Посмотрим на результат. Новое поле добавилось внизу:

Сравним обычного пользователя и VIP пользователя. Благодаря полиморфизму (в одной папке могут быть документы любого типа) мы можем положить в папку и обычного пользователя и VIP:

С помощью No-code можно было создать сложные документы, с таблицами в духе товар-количество-цена и полем общая сумма, которая пересчитывалась автоматически - и это все без единой строчки кода. Данные ('расширения'), правда, хранились в универсальной таблице, что плохо с точки зрения производительности. Поэтому такие вещи предназначались для маленьких дополнений, а основной код все-таки писался на TSQL

Вершиной no-code был user assistant - метод переопределения поведения любых полей.

Администратор мог для любого документа, для любого поля, для определенной группы пользователей добавить умолчание, сделать поле read-only (что вместе с умолчанием заставляет использовать только определенное значение), или спрятать поле вовсе. Для полей выбора документов можно было изменить Root (папку начиная с которой выбираются документы для ввода) - например, пусть Вася Пупкин при создании платежки сможет указывать только этих трех клиентов (накидаем ссылки на этих клиентов в отдельную папочку)

Фильтрация

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

Через систему событий опрашивались все классы - а по каким полям ты умеешь фильтроваться?

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

Заключение

С тех пор я не видел потенциально более гибких систем. А монстры типа SAP R/3 живут и процветают...

Подробнее..

Веб на заре Рунета. Как создавали и где хостили сайты в 90-е

13.04.2021 14:10:30 | Автор: admin

Хоумпейдж мой, домашняя страница готова. Сайт я свой доделал, бабуля!

Удивительно, но я совершенно не помню день своего знакомства с интернетом. Это определенно был 1996 или 97-й год, но сам момент отчего-то не отложился в памяти: интернет вошел в жизнь нашего поколения исподволь, вытеснив из нее и BBS, и эхоконференции Фидонета. Поначалу мы отчаянно потребляли контент: серфинг по сети в середине 90-х напоминал путешествия Колумба в поисках неизведанного, и ежедневно приносил новые увлекательные открытия. Затем у многих тяга к творчеству брала верх, и они начинали робкие эксперименты по созданию собственных кошмарных домашних страничек. Меня тоже не минула чаша сия воспоминания о том, как это было, сейчас вызывают лишь ностальгическую улыбку.

Толковых книг на русском языке по синтаксису HTML и тем более по веб-дизайну в середине 90-х еще не издавали. По крайней мере, мои воспоминания о подобной литературе относятся скорее к началу нулевых тогда на волне популярности темы таких изданий вдруг стало неожиданно много. Приходилось действовать экспериментальным путем: веб-страница сохранялась на диске, открывалась в Notepad.exe, после чего в коде менялись значения атрибутов html-тегов, удалялись и добавлялись строчки, а изменения тут же отслеживались в окне браузера. Собственно, мои первые веб-страницы были по большому счету локализованными копиями зарубежных хоумпейджей, делать что-то по-настоящему свое я научился немного позже путем натурных экспериментов.


Типичный сайт середины 90-х. От такого дизайна в наши дни и вправду может стошнить

Отличительной особенностью сайтов того времени было повсеместное использование вырвиглазных фоновых картинок, которыми следовало обязательно замостить все пространство страницы сверху донизу. Поэтому крайне важно было добиться, чтобы небольшое изображение правильно стыковалось само с собой по горизонтали и вертикали. Кто-то использовал для этого Photoshop, позже появились и специальные утилиты для работы с фоновыми картинками вроде HarmsTile99, посредством которых удавалось соорудить почти идеальные фоны для сайта, потратив на это минимум усилий. Некоторые Web-мастера (именно так их тогда и называли латиницей и с заглавной буквы W) очень любили прикрутить к какой-нибудь странице MIDI-файл, который без объявления войны начинал воспроизводиться сразу в момент открытия сайта. Лично я за такое готов был пристукнуть их чем-нибудь тяжелым, поскольку в целях экономии пользовался преимущественно ночным dial-upом, и временами забывал выключить колонки.

Интернет тогда поступал населению преимущественно по модему, поэтому для ускорения загрузки станиц (и благодаря ограничениям хостинга того времени) картинки приходилось сжимать. Формат PNG тогда еще не был широко распространен (поначалу для его поддержки вроде бы даже требовались дополнительные браузерные плагины). Картинки на сайтах были представлены файлами GIF для кнопок, надписей, шапок, и, конечно же, анимации, и JPEG для всего остального. JPEG мы сжимали с помощью Jpeg Optimizator и Jpeg Cleaner for DOS, для второго формата широко использовался GifClean 32 под винду. Позже, уже ближе к нулевым, широкое распространение получила универсальная программа WebGraphics Optimizer: ты загружал в нее картинку, и тулза выдавала несколько вариантов сжатого изображения с различной степенью компрессии: оставалось только выбрать компромисс между подходящим размером файла и количеством грязи и артефактов. Опции Save for Web в Фотошопе (по крайней мере, в той версии, которой пользовался я) тогда еще не существовало, мы выживали, как могли. Не существовало и удобной функции нарезки картинки на куски-слайсы, с помощью которой можно было собрать целую мозаику из фрагментов изображения с разными гиперссылками. Картинки резали на части в программе Picture Dicer, пока браузеры не научились наконец нормально поддерживать html-тег . После чего об этом извращении с огромным облегчением забыли.


WebGraphics Optimizer тулза для сжатия картинок

Самым громким писком моды 90-х были, конечно, анимированные GIFы, которые собирались в программах вроде Gif Movie Gear и Ulead GIF Animator. На веб-страницах бегало, скакало и крутилось буквально все. Считалось очень правильным и важным распихать на сайте как можно больше анимированных кнопок, картинок, значков и иконок, так, чтобы у посетителя через пару минут начало рябить в глазах и возникали рвотные позывы. В 1997 году GIF-анимация обрела еще и практическое значение: в Рунете появилась первая баннерообменная сеть Reklama.ru, использовавшаяся для взаимного продвижения сайтов, но при этом забиравшая определенную часть показов под собственную монетизацию. Сеть накладывала очень жесткие ограничения не столько на содержание баннеров, сколько на объем файлов, поэтому отдельные кадры в формате GIF порой приходилось сначала сжимать сторонними компрессорами, а потом еще и оптимизировать в самом GIF Animatore, сокращая количество цветов в палитре, добавляя туда прозрачность и убирая лишние слои. Иногда на это уходило даже больше времени, чем на рисование самой рекламы.


В Ulead GIF Animator создавалась практически вся эта назойливая анимированная графика

Создатели веб-страниц конца 90-х сталкивались в основном с тремя серьезными проблемами. Первая кодировки кириллицы. Браузеры не всегда умели корректно распознавать ее в автоматическом режиме, потому порой приходилось готовить несколько версий сайта сначала в Windows-1251, после чего копии веб-страниц перегонялись в KOI-8, ISO-8859-5 и CP866 с помощью утилит вроде ConvertHTML или Coder. Затем варианты сайта в разных кодировках связывались гиперссылками. Обновление всего этого зоопарка веб-страниц выливалось потом в отдельную эпопею. Крупные конторы, имевшие возможность подкрутить конфигурацию сервера, могли настроить выдачу сайта в разных кодировках через разные http-порты, но у обычной массы веб-мастеров не было доступа даже к папке /cgi-bin/, не говоря уж о более сложных вещах. Потому проблема решалась такими вот кустарными методами и всевозможными подпорками из костылей.

Второй геморрой поддержка экранных разрешений. Чтобы ничего не разъезжалось и не расползалось на разных компьютерах, сайты того времени заверстывались в невидимую таблицу, ширина которой определялась наиболее распространенными значениями экранного разрешения. Свои первые сайты я верстал под 640х480, но вскоре самым популярным стандартом стал 800х600, реже встречались веб-страницы, оптимизированные под 1024х768. Сделаешь таблицу слишком узкой по краям экрана появятся неопрятные пустые поля, слишком широкой у страдальцев со старыми дисплеями вылезут в браузере полосы прокрутки. Споры о том, какое разрешение считать основным и какую ширину таблиц выбирать в качестве стандарта, не утихали очень долго и порой превращались в настоящие холивары. По крайней мере, до тех пор, пока наука не придумала резиновый адаптивный дизайн.



Типичный сайт с табличной версткой. Такая компоновка сайтов была популярна до начала 00-х.
Но самой большой головной болью были, пожалуй, попытки добиться одинакового отображения веб-страницы в Internet Explorer и Netscape Navigator. В ходе браузерных войн разработчики придумывали html-теги, которые нормально поддерживала только их программа, кроме того, Microsoft, по слухам, активно подкармливала консорциум W3C, чтобы легализовать собственные нововведения в стандарт HTML. Дабы не заморачиваться, многие веб-мастеры вешали на свои страницы дисклаймер из серии Этот сайт лучше просматривать в Microsoft Internet Explorer, и со спокойной совестью отправлялись пить пиво. Другие вроде меня стремились к совершенству, и долгими ночами, матюгаясь сквозь зубы, копались в HTML-коде: только наладишь выравнивание объектов в IE, как в Нетшкафе съезжает ширина боковых колонок навигации, починишь колонки пропадают горизонтальные линии, вернешь на место линии вокруг картинок откуда-то вылезли отвратные рамки. Еще, помнится, существовал национальный браузер Ариадна, которым даже пользовались примерно никто. К началу нулевых понемногу стала набирать популярность Opera, добавив веб-мастерам еще немного попоболи: теперь оптимизировать страницы приходилось аж под три разных браузера.

Мало создать кошмарную домашнюю страничку, ее еще нужно было где-то разместить. Профессиональный хостинг стоил дорого и не каждому был по карману, но многие провайдеры при покупке у них интернета бесплатно предоставляли юзеру до мегабайта дискового пространства. Подобные личные сайты обычно имели URL вида www.cityline.ru/~username. Такой вариант хостинга имел несколько серьезных недостатков. Во-первых, провайдеры обычно накладывали ограничения на содержание сайтов, допуская к размещению только персональные страницы и не разрешая публиковать коммерческие. Во-вторых, через пару дней после того, как ты переставал платить за интернет, страничка попросту уничтожалась и если на твоем компе не осталось резервной копии, восстановить ее было уже невозможно. В-третьих, ты оказывался фактически привязанным к этой конторе: перенести статический сайт на другой хост при смене провайдера не составляло особого труда, а вот адрес, зарегистрированный во всех интернет-каталогах, терялся навсегда вместе с рейтингом Ramblers Top 100 и прочими честно заработанными ачивками.


Интернет-провайдер всея Руси Cityline. Дизайн сайта студии Артемия Лебедева

Второй вариант бесплатный хостинг. В Рунете с 1996 года действовал портал Halyava.ru, где можно было без-воз-мез-дно, то есть даром, разместить домашнюю страничку общим объемом не более 512 килобайт. На вопрос, чем продиктовано столь жесткое ограничение, в FAQ хостера был опубликован исчерпывающий ответ:

А зачем Вам больше? Если Ваша страничка начинает весить больше 512 килобайт, возникает вопрос: зачем делать такую тяжелую графику?

От щедрот душевных компания предлагала для каждой такой странички адрес вида www.halyava.ru/ваше-имя (для серьезных людей в малиновых пиджаках, которым не нравится слово Халява, были доступны URL формата www.homepage.techno.ru/ваше-имя), а также обвешивала ее рекламой. Фактически, сайт пользователя отображался во встроенном фрейме, в верхней части которого хостер откручивал баннеры и размещал ссылку на собственный сервис. Примечательно, что у Halyava.ru поначалу отсутствовала возможность загрузки веб-страниц по FTP: вместо этого данные на сервер передавались по электронной почте, по ней же пользователю отправлялись инструкции. Помнится, у какого-то из хостеров использовался другой извращенный метод: нужно было скопировать HTML-код через буфер обмена в специальную форму, из которой по нажатию кнопки Submit генерировалась в папке на сервере веб-страница с заданным именем. Попутно HTML-код проверялся на предмет запрещенных тегов. Страница жила на Халяве два месяца с момента получения сервером последней команды от юзера, а затем бесследно исчезала. Естественно, такой бесплатный хостинг не подразумевал использования каких-либо скриптов: только статические веб-страницы, только хардкор! Но даже столь спартанские условия для 90-х считались более чем приемлемыми. Халява, сэр!


Халявный хостинг в 90-е предлагали не так уж и много провайдеров, один из самых известных GeoCities

Для тех, кто знал английский и не боялся общаться с техподдержкой на иностранном языке, был открыт весь мир: например, на сервере GeoCities бесплатно давали целых 2 мегабайта, а лично я пользовался услугами халявного хостинга на портале Tripod.com. Там тоже лепили на размещаемые сайты собственную рекламу, тоже допускали к публикации только статические веб-страницы, а адрес сайта имел вид www.tripod.com/~username. GeoCities предлагал в добавок к сайту еще и бесплатный почтовый ящик. Кроме того, для загрузки веб-страниц на сервер там предоставлялся нормальный FTP-доступ. Правда, регистрация нового сайта представляла собой не самый простой квест: сначала нужно было выбрать подходящую тематическую рубрику в каталоге, затем найти незанятое имя, и только потом тебя допускали в святая святых к заполнению анкеты для получения membership. Возможно, именно такая нетривиальная система и отпугивала наших соотечественников. Зато американцы, в отличие от местных хостеров, никак не ограничивали размещение на пользовательских веб-страничках сторонней рекламы. Благодаря участию в партнерских программах я, помнится, даже заработал целых 15 баксов, а потом долго бегал по российским банкам с присланным мне по почте бумажным чеком, пытаясь его обналичить.


Еще один рай для любителей халявы из 90-х Tripod

Вскоре в Рунете стали возникать и другие площадки для бесплатного размещения сайтов, у разработчиков появилась возможность регистрировать для них домены третьего уровня или создавать алиасы вроде site.da.ru. Но, тем не менее, запуск скриптов по-прежнему оставался недоступным большинству пользователей бесплатных тарифов. Самыми популярными веб-сервисами в то время были гостевые книги и чаты, а самым распространенным языком, на котором писались CGI-сценарии Perl. Конечно, можно было прикрутить к своему сайту и стороннюю гостевую книгу с чужой рекламой таких предложений в Рунете было навалом, но каждому, конечно, хотелось иметь собственный чатик вроде легендарной Кроватки, или уютную гостевушку, аккуратно вписанную в существующий дизайн.

Поскольку Perl в случае неправильной настройки сервера (а правильно его настраивать было дано далеко не всем) технически позволял выполнять команды операционной системы и получить доступ к файлам за пределами домашней папки пользователя, а скрипты создавали нагрузку на сервер, доступ к /cgi-bin/ простым смертным открывали далеко не всегда. Чаще всего бесплатному юзеру предлагалось написать админу хостинга, что за скрипт он желает запустить на сервере и на кой ему это понадобилось. Затем следовало отправить скрипт на рассмотрение, и только в случае одобрения админ выкладывал его на сайт и давал ему права на выполнение. Отладка сценариев на Perl превращалась при этом в сущую пытку, а задача поправить где-нибудь неправильно указанный путь или ошибку в имени переменной в mission impossible. Доступ к СУБД на бесплатных тарифах тоже, понятно, отсутствовал как явление, данные писали в текстовые файлы, которые использовались вместо базы данных. Архаика, но чатик на Perl и .TXT благополучно просуществовал на моем сайте, кажется, до 2002 года, когда был упразднен за ненадобностью. Скрипты мы писали сами, но можно было обойтись и готовыми вариантами огромный выбор самых разных сценариев на все случаи жизни можно было добыть в коллекциях вроде freeware.ru там имелся ну просто кладезь скриптов и полезного софта на все случаи жизни. Бесплатный хостинг с полноценным доступом к CGI стал широко доступен только в самом начале нулевых, коммерческие пользователи подобных проблем по понятным причинам не испытывали и до этого.


Freeware.ru месторождение софта и полезных скриптов

Настоящим откровением в конце 90-х для меня стал стандарт CSS, о котором я узнал от коллег. Оказывается, совершенно необязательно прописывать в каждом html-теге кучу атрибутов, а вместо этого можно собрать все стили в одном внешнем текстовом файле. Вторым грандиозным открытием стала технология Server Side Includes, позволившая экономить кучу времени на обновлении контента. С помощью SSI впервые сделалось возможным отделить дизайн от собственно содержимого сайта: веб-мастер мог распихать шапку, подвал, навигацию и контент по разным файлам, а потом динамически собирать их воедино прямо на сервере. Захотел отредактировать меню на всех страницах проекта достаточно внести правки только в один файлик. У удобство. До появления полноценных CMS оставался ровно один шаг.
Вместо них в начале нулевых жизнь веб-мастера заметно облегчали редакторы вроде HomeSite, Hot Metal Pro, Adobe Page Mill, Hotdog, Macromedia DreamWeaver, и конечно же, Microsoft FrontPage, который генерировал адские объемы мусорного кода, но очень уж полюбился мне за наглядность и простоту. Да, код веб-страниц после FrontPage приходилось чистить в Блокноте, но это было неотъемлемой частью рабочего процесса.


Очень много веб-страниц было сверстано в Microsoft FrontPage

В тот период запад переживал самый пик знаменитого пузыря доткомов, а в российском сегменте сети начался бурный рост новых проектов, часть которых впоследствии превратитесь в крупные интернет-компании с многомиллионной капитализацией. Но это было потом. Тогда же подавляющее большинство русскоязычных сайтов создавалось на голом энтузиазме и поддерживалось за счет финансовых ресурсов и личного времени самих разработчиков. Многим тогда справедливо казалось, что в Рунете денег нет. Я и пара моих приятелей подхалтуривали иным способом, а именно, делали сайты для американских заказчиков, в основном, для малого и сверхмалого бизнеса. В Штатах подобные услуги стоили тогда дорого, в России на порядок дешевле. Помню, как меня ввел в полнейший ступор вопрос от джентльмена из Техаса, сколько долларов стоит в России час работы веб-мастера. Да пёс его знает! В России конца 90-х обычно платили за завершенный проект, да и то не всегда. Некоторые студенты вообще трудились за пиво. Помню, в тот период мы сделали хоумпейдж для какой-то пекарни из Алабамы, для религиозной общины из Пенсильвании, для семейного бизнеса, предлагавшего трансферт туристов на минивене из аэропорта Ла-Гуардия, для небольшого косметического салона и частного мастера по очистке бассейнов из техасской глубинки, для магазина газонокосилок из городка, который я даже не смог отыскать на карте Совсем не миллионные стартапы, конечно, но какие-то деньги это приносило. Притом наша небольшая банда веб-мастеров не давала никакой рекламы: простого знания английского вполне хватало, чтобы заказы приходили один за другим посредством сарафанного радио.

Когда PHP окончательно вытеснил Perl с просторов интернета, веб-программист мог считаться настоящим мужчиной, только если он осилил три главных достижения в своей жизни: посадил печень, вырастил патлы и написал собственную CMS. Количество самописных движков с примерно одинаковым функционалом, напоминавших велосипеды с квадратными, треугольными, трапециевидными и даже выполненными в виде ленты мёбиуса колесами, быстро превысило все разумные пределы. Но к тому моменту я уже окончательно завязал с веб-дизайном и вся эта вакханалия благополучно прошла мимо меня. Тем более, к этому моменту интернет в целом обрел свой современный вид, окончательно коммерциализировался, и веб-разработкой стали заниматься профессионалы, освоившие поистине промышленные масштабы производства по промышленным же расценкам. А для меня веб-дизайн никогда не был основной профессией и главным источником дохода. Гораздо больше мне нравилось заниматься текстами.

Однако говорят, что бросить возиться с сайтами иногда даже сложнее, чем бросить курить. Временами я все еще делаю что-то на Joomla и WordPress для собственного удовольствия. Но всякий раз, открывая свои старые архивы, я с улыбкой вспоминаю те времена, когда мы писали сайты в Notepad.exe, вручную оптимизировали перед выкладкой каждую картинку, а главное учились методом проб и ошибок, без роликов на YouTube, онлайн-курсов и даже без специальной литературы. В нашем распоряжении не было такого количества общедоступных сервисов, начиная от движков на любой вкус до визуальных конструкторов, с помощью которых можно за пару минут набросать мышкой работоспособный лендинг, попивая кофе и поглядывая одним глазом в ТикТок. Да и Рунет был крошечным, как детская песочница во дворе, а его население как и население той песочницы более наивным, добродушным и открытым. Хорошие все-таки были времена.

Подробнее..

Почему в Vim для навигации используются клавиши hjkl

15.04.2021 18:16:38 | Автор: admin

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

О редакторе vim

Vim (от Vi IMproved) является клоном классического текстового редактора vi для Unix-подобных операционных систем. Vim обладает намного более широкими возможностями, чем свой предшественник. На данным момент это мощный текстовый редактор с полной свободой настройки и автоматизации. Некоторые скажут: Зачем мне какой-то Vim, если есть любимая IDE, в которой все работает? Приведем некоторые причины:

  • Базовый Vim без плагинов поддерживает более 200 языков программирования и форматов конфигурационных файлов (подсветка синтаксиса, автоматическое определение величины отступа для строк). IDE же обычно поддерживает только несколько языков/платформ. С плагинами же в vim можно работать со всем на свете главное, чтобы создатель плагина сделал поддержку специфических для ЯП вещей. Так что можно и код пописать, и текст в LaTex поверстать, и многое другое.

  • Некоторые IDE очень прожорливые и требуют мощной рабочей станции (вспомним хотя бы монструозную Visual Studio). VIM, даже с кучей плагинов, штука довольно шустрая.

  • Vim работает в режиме консоли, поэтому может быть использован в качестве тонкого клиента. Если вы работаете на древней машине 10-летней давности, на которой современные IDE будут тормозить, всю разработку и прогон тестов можно вести на сервере.

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

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

Один из вариантов кастомизации vim Один из вариантов кастомизации vim

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

Как отсюда выйти? (нажать :q) Как отсюда выйти? (нажать :q)

Немного истории

Самое распространенное объяснение таким образом пальцы располагаются на домашнем ряду клавиатуры. Это действительно удобно: вам не нужно постоянно двигать кистью в сторону клавиш со стрелками. Рука устает значительно меньше, повышается эффективность работы. Однако, если копнуть поглубже в историю, причины такого выбора клавиш окажутся более интересными.

Билл Джой, автор оригинального редактора vi, работал в терминале ADM-3A, в котором не было специальных клавиш со стрелками. Если взглянуть на клавиатуру ADM, обнаружится, что стрелки расположены на клавишах hjkl. Итак, Джой использовал ту же логику для vi, которая привела в дальнейшем к vim.

Клавиатура ADMКлавиатура ADM

Однако странно, что в ADM для клавиш со стрелками использовались hjkl. Почему именно эти буквы?

Для этого есть очень веская причина. Вот версия таблицы ASCII 1967 года:

Для кодировки каждого символа используются 7 бит. Первые две строчки (первые 32 символа) это управляющие символы, которые важны для коммуникации, но не являются настоящими символами. Компьютерные клавиатуры, созданные по образцу пишущих машинок QWERTY, нуждались в способе использования ввода этих символов при сохранении той же раскладки. Проблему решили с помощью дополнительной контрольной клавиши для изменения ввода с физических символов на управляющие символы. Удерживание клавиши управления обнулит 6-й и 7-й старшие биты нажатой клавиши. Если вы хотите использовать управляющий символ Backspace, нужно удерживать ctrl + H (или ^H). По этой же причине bash удалит символ при нажатии ^H. Это действие преобразовывает биты 100 1000 кодировки буквы H в 000 1000 - кодировку символа Backspace. Точно так же для разделителя строк нужно нажать ^J.

Если мы посмотрим руководство к ADM, то увидим, что ADM использовал backspace для обозначения переместить курсор влево без удаления текущего символа. Поскольку ^H и ^J уже используются как левая и нижняя стрелка, имеет смысл превратить ^ K и ^ L в верхнюю и правую стрелки. Это означает, что пользователи ADM уже использовали hjkl для навигации, а Билл Джой просто последовал примеру при разработке vi.

Про backspace

Удаление символа производилось с помощью кнопки RUBOUT, которая физически присутствовала на клавиатуре. Ранние компьютеры не использовали соглашение о том, что backspace должен удалять символ.

Клавиши hjkl vs клавиши со стрелками

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

Возникает вопрос, почему не рекомендуется использовать для навигации клавиши со стрелками? Дело в том, что в ОС Unix стрелочные клавиши генерируют последовательность байтов, начинающуюся с кода Esc (27); любая такая последовательность может быть воспринята редактором как требование на переход в командный режим и несколько команд-символов, причем единственный способ отличить Esc-последовательность, порожденную нажатием клавиши, от такой же последовательности, введенной пользователем это измерение времени между приходом кода Esc и следующего за ним. При работе на медленной линии связи (например, при удаленном редактировании файла в условиях медленной или неустойчивой работы сети) этот способ может давать неприятные сбои.


Дата-центр ITSOFT размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Подробнее..

Почему работать в консоли настолько приятно? Так задумано отцами-основателями Unix

19.04.2021 12:12:03 | Автор: admin

Кен Томпсон и Деннис Ритчи

Unix. Легендарная операционная система оказала огромное влияние на разработку программного обеспечения и всю информатику в целом. Из неё выросли целые семейства Unix-подобных ОС, которыми все мы пользуемся.

Язык программирования Си, Ричард Столлман и GNU, движение Open Source, Линус Торвальдс с ядром Linux, маки, айфоны и Android. Почти всё в системном программировании 21века можно отследить до истоков до Unix.

Unix это фундаментальная база. Но что же в ней такого особенного? Есть один секрет. Точнее, два.

Философия Unix


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

Во-вторых это была правильная операционная система. Сделанная в соответствии с некими общими принципами, в соответствии с цельной философией Unix.

Брайан Керниган и Роб Пайк в книге Unix. Программное окружение формулируют основную идею этой философии:

Эффективность UNIX определяется применением особого подхода к программированию, философией использования компьютера. Для того, чтобы описать эту философию, одного предложения, конечно же, недостаточно, но вот её основная идея мощность системы в огромной степени определяется взаимодействием программ, а не их наличием.

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

Другими словами, философия Unix это взаимодействие программ. Как говорил в своей презентации Брайан Керниган, программы Unix словно строительные блоки, которые можно комбинировать, складывая в эффективные конструкции. Выход одной программы является входом другой программы. Своеобразный конвейер (пайп).

Команды сочетаются в конвейер не только стандартными, очевидными способами. Бывают и весьма нетривиальные сочетания.

Волшебные конвейеры


Проще всего понять эту магию на конкретных примерах. пусть этот будет хит-парад авторов из репозитория по количеству коммитов, загрузка мемов с Reddit и смена обоев для рабочего стола каждый час согласно оценкам в подреддите /r/earthporn.

Список лидеров по числу коммитов


Начнём с простого примера: отобразить список авторов репозитория git, отсортированных по количеству коммитов. Если представить задачу в терминах конвейеров, то она довольно простая. Выводим логи коммитов командой git log. Опция --format=<format> позволяет указать, в каком формате отображать коммиты. В нашем случае --format='%an' выводит только имена авторов для каждого коммита.

$ git log --format='%an'AliceBobDeniseDeniseCandiceDeniseAliceAliceAlice

Теперь утилита sort сортирует их по алфавиту.

$ git log --format='%an' | sortAliceAliceAliceAliceBobCandiceDeniseDeniseDenise

Далее используем uniq.

$ git log --format='%an' | sort | uniq -c    4 Alice    1 Bob    1 Candice    3 Denise

Согласно man-странице uniq, она учитывает только соседние совпадающие строки. Вот почему нужно было сначала отсортировать список. Флаг -c выводит перед каждой строкой количество вхождений.

Как видим, выдача по-прежнему отсортирована по алфавиту. Осталось только изменить способ сортировки по числовым значениям. Для этого есть флаг -n.

$ git log --format='%an' | sort | uniq -c | sort -nr    4 Alice    3 Denise    1 Candice    1 Bob

Флаг -r указывает на обратный порядок сортировки. Вот и всё. Теперь у нас есть список авторов, отсортированных по количеству коммитов.

Просмотр мемов из /r/memes и установка обоев из /r/earthporn


Вы знали, что можно добавить .json к любому URL на Reddit, чтобы получить выдачу в формате JSON вместо обычного HTML? Это открывает целый мир возможностей! Например, просмотр мемов прямо из командной строки (ну, не совсем, потому что фактическое изображение будет отображаться в графической программе). Мы можем просто запросить файл напрямую через curl или wget: https://reddit.com/r/memes.json.

$ wget -O - -q 'https://reddit.com/r/memes.json''{"kind": "Listing", "data": {"modhash": "xyloiccqgm649f320569f4efb427cdcbd89e68aeceeda8fe1a", "dist": 27, "children":[{"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "memes","selftext": "More info available at....'......

Wget принимает опцию -O с указанием файла для записи. Большинство программ, которые принимают такую опцию, также допускают значение -, что означает стандартный вывод stdout (или ввод, в зависимости от контекста). Опция -q просто означает работу в тихом режиме, не отображая информацию типа статуса скачивания. Теперь у нас есть большая структура JSON. Чтобы проанализировать и осмысленно использовать эти данные в командной строке, можно взять утилиту jq, аналог sed/awk для JSON. У неё простой интуитивно понятный язык.

Ответ JSON выглядит примерно так:

{    "kind": "Listing",    "data": {        "modhash": "awe40m26lde06517c260e2071117e208f8c9b5b29e1da12bf7",        "dist": 27,        "children": [],        "after": "t3_gi892x",        "before": null    }}

Итак, здесь у нас тип Listing и массив children. Каждый элемент этого массива отдельный пост.

Вот как выглядит один из элементов массива:

{    "kind": "t3",    "data": {        "subreddit": "memes",        "selftext": "",        "created": 1589309289,        "author_fullname": "t2_4amm4a5w",        "gilded": 0,        "title": "Its hard to argue with his assessment",        "subreddit_name_prefixed": "r/memes",        "downs": 0,        "hide_score": false,        "name": "t3_gi8wkj",        "quarantine": false,        "permalink": "/r/memes/comments/gi8wkj/its_hard_to_argue_with_his_assessment/",        "url": "https://i.redd.it/6vi05eobdby41.jpg",        "upvote_ratio": 0.93,        "subreddit_type": "public",        "ups": 11367,        "total_awards_received": 0,        "score": 11367,        "author_premium": false,        "thumbnail": "https://b.thumbs.redditmedia.com/QZt8_SBJDdKLVnXK8P4Wr_02ALEhGoGFEeNhpsyIfvw.jpg",        "gildings": {},        "post_hint": "image",        ".................."        "много строк скипнуто"        ".................."    }}

Здесь много интересных атрибутов, в том числе URL картинки с мемом.

Мы можем легко получить список всех URL со всех постов:

$ wget -O - -q reddit.com/r/memes.json | jq '.data.children[] |.data.url'"https://www.reddit.com/r/memes/comments/g9w9bv/join_the_unofficial_redditmc_minecraft_server_at/""https://www.reddit.com/r/memes/comments/ggsomm/10_million_subscriber_event/""https://i.imgur.com/KpwIuSO.png""https://i.redd.it/ey1f7ksrtay41.jpg""https://i.redd.it/is3cckgbeby41.png""https://i.redd.it/4pfwbtqsaby41.jpg"......

Игнорируйте первые две ссылки, это в основном закреплённые посты от модераторов.

Утилита jq считывает данные из стандартного входа и получает JSON, который мы видели ранее. Затем указан массив постов .data.children. Синтаксис .data.children[] | .data.url означает: пройти по каждому элементу массива и вывести поле url, которое находится в поле data каждого элемента.

Таким образом, мы получаем список URL всех топовых мемов в подреддите /r/memes на данный момент. Если хотите посмотреть лучшие посты недели, нужно писать https://reddit.com/r/memes/top.json?t=week. Топ всех времён: t=all, за год: t=year и так далее.

Как только у нас есть список всех URL, можно просто передать его в xargs. Это действительно полезная утилита для построения командных строк из стандартного ввода. Из описания:

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

Пустые строки игнорируются.

То есть такая команда:

$ echo "https://i.redd.it/4pfwbtqsaby41.jpg" | xargs wget -O meme.jpg -q

будет равнозначна этой:

$ wget -O meme.jpg -q "https://i.redd.it/4pfwbtqsaby41.jpg"

Теперь можно просто передать список URL'ов в просмотрщик изображений feh или eog, который принимает URL в качестве допустимого аргумента.

$ wget -O - -q reddit.com/r/memes.json | jq '.data.children[] |.data.url' | xargs feh

И у нас запускается feh с мемами, которые можно листать клавишами со стрелками, словно это картинки на локальном диске.



Или можно загрузить все изображения с помощью wget, заменив feh на wget в строке выше.

А возможности безграничны. Ещё один вариант использования картинок с Reddit через JSON установка топовой картинки подреддита /r/earthporn в качестве обоев рабочего стола:

$ wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -1 | xargs feh --bg-fill

Если хотите, можно настроить cron-задание, которое выполняется каждый час.


Лес в Нидерландах [20001333]


Гренландия [40323024]

Конечно, вместо /r/earthporn можно брать картинки из других подреддитов.

Вот в чём мощь конвейеров Unix. Одна-единственная строка делает всё: скачивает файл JSON, разбирает его, находит нужные данные, потом скачивает картинку по URL и устанавливает её в качестве обоев.

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

Работа, которая доставляет удовольствие


Особая философия Unix настолько глубока и фундаментальна, что породила целые классы Unix-подобных систем, к числу которых относятся BSD, macOS и Linux. Все они построены на этой философии. А побочный эффект работы в такой системе чувство правильности и цельности. Что так всё и должно работать: из кирпичиков, маленьких строительных блоков, которые сцепливаются в конвейеры любой сложности. Это же гениально.

Интересные факты об отцах-основателях


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

Например, в 2014 году исследователь Лея Нойкирхер нашла в дампах исходного дерева BSD 3 файл /etc/passwd с паролями всех ветеранов, таких как Деннис Ричи, Кен Томпсон, Брайан В. Керниган, Стив Борн и Билл Джой.

Для хэшей использовался алгоритм crypt(3) с максимальной длиной пароля 8 символов. Лея взломала их стандартными брутерами john и hashcat. Большинство паролей были очень слабыми. Только пароль Кена Томпсона не поддавался взлому. Даже полный перебор всех строчных букв и цифр (несколько дней) не дал результата. Неужели он использовал специальные символы? Лишь в 2017 году Найджел Уильямс в списке рассылки The Unix Heritage Society раскрыл эту тайну. Пароль со всеми возможными символами оказался q2-q4!: это первый ход пешкой на две клетки в описательной нотации и начало многих типичных дебютов, что очень хорошо вписывается в бэкграунд Кена Томпсона по компьютерным шахматам. Брутфорс на видеокарте AMD Radeon Vega64 занял более четырёх дней.

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


Десктоп Брайана Кернигана (октябрь 2015)

Деннис Ритчи (19412011) в 2002 году использовал необычную установку: его домашний клиент на NT4 подключён по ISDN к удалённому серверу Plan9 в центральном офисе Bell Labs.



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

Дальше у нас Брам Моленар, автор многофункционального текстового редактора Vim:


Десктоп Брама Моленара (сентябрь 2002)


Десктоп Брама Моленара (ноябрь 2015)

Джордан Хаббард, один из сооснователей проекта FreeBSD:


Десктоп Джордана Хаббарда (ноябрь 2015)

P. S. К сожалению, Линус Торвальдс не смог сделать скриншот из своей консоли в текстовом режиме.

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



На правах рекламы


Устанавливайте любые операционные системы на наших VDS с мгновенной активацией. Сервер готов к работе через минуту после оплаты!

Подробнее..

Войны лоббистов и развитие BIM.Часть 5 BlackRock хозяин всех технологий. Как корпорации контролируют Open source

11.04.2021 10:22:11 | Автор: admin

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

Сегодняшние лидеры САПР-индустрии: Autodesk, Hexagon, Nemetschek, Bentley, Trimble - хорошо готовятся к будущим угрозам: стандартной тактикой больших корпораций стал агрессивный захват новых рынков и поглощение возможных конкурентов на ранних стадиях развития.

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

Содержание:

  1. BlackRock - хозяин всех технологий

  2. Олигополия на рынке САПР

  3. Autodesk идёт по стопам Oracle

  4. Почему программы не развиваются

  5. Борьба корпораций с open source

  6. Autodesk и формат данных IFC

  7. Проблема Autodesk - организация открытых стандартов - ODA

  8. В заключение

Олигополия в САПРОлигополия в САПР

В этой статье мы рассмотрим:

  • кто сегодня руководит развитием новых технологий в строительстве

  • как происходит синхронизация политики между САПР-вендорами

  • почему компании не развивают программы, написанные в 90-е

  • как большие корпорации контролируют open source разработчиков

  • почему IFC и Dynamo - это непрозрачный open source

  • как благодаря Autodesk появился альянс ODA

  • как велась борьба за формат DWG между ODA и Autodesk

  • как сегодня развивается борьба за открытость форматов RVT и RFA

  • как BlackRock и Vangaurd создали плановую экономику на мировом уровне

BlackRock - хозяин всех технологий

Основа олигополистической структуры в строительном проектировании - это большая пятёрка САПР-вендоров: Autodesk, Hexagon, Trimble, Bentley, Nemetschek.

Эти компании выходили с середины 90-х на IPO (initial public offering), распродав большую часть своих акций среди крупнейших инвестиционных фондов Соединённых Штатов и распределив тем самым ответственность за будущее компаний среди держателей акций.

Данные о держателях долей в уставном капитале (только материнские компании, за исключением владения фондами небольших дочерних компаний)Данные о держателях долей в уставном капитале (только материнские компании, за исключением владения фондами небольших дочерних компаний)

Главными бенефициарами (и держателями акций) от выхода САПР-компаний на биржу стали три американских инвестиционных фонда: The Capital Group, Vanguard и BlackRock, которые на протяжении последних 30 лет скупали акции технологических компаний напрямую или через свои банковские филиалы.

Акционеры крупнейших CAD-компанийАкционеры крупнейших CAD-компаний

Мало кто слышал о BlackRock, но эта фирма является крупнейшей инвестиционной компанией, под управлением которой находятся активы стоимостью в $8,7 трлн в 2021 году (в 2015 году - $4,6 трлн). На 2021 год BlackRock, штаб-квартира которой расположена на Манхэттене, имеет отделения в 100 странах, и она тесно связана с крупнейшими финансовыми регуляторами, такими как министерство финансов США, Федеральная резервная система (ФРС) США и Европейский центральный банк (ЕЦБ).

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

Например, только в Германии в 2014 году BlackRock принадлежало 4% акций BMW, 5,2% акций Adidas,7% акций Siemens, 6% акций Daimler. В целом BlackRock является акционером (почти всегда самым крупным) всех предприятий, входящих в индекс DAX (важнейший фондовый индекс Германии).Гигантская платформа Aladdin, созданная BlackRock для управления активами, ежесекундно отслеживает стоимость акций, облигаций и других активов, находящихся под управлением компании, а также рассчитывает, как влияют на их котировки различные события, такие как рост цен на нефть или алюминий.

BlackRock является мажоритарным акционером почти во всех технологических компаниях мира. Какое отношение к строительству и проектированию имеют инвестиционные корпорации BlackRock и Vanguard (Vanguard/Windsor)?

BlackRock и Vanguard принадлежат почти все САПР-компании и технологии в мире строительного проектирования и BIM решений.

Доля владения акциями BlackRock и Vanguard в компаниях САПРДоля владения акциями BlackRock и Vanguard в компаниях САПР

На графике владения акциями заметно, что особым смыслом здесь обладает цифры - 7-10%. До таких цифр инвестфонды доводят долю владения любой компанией, чего хватает, чтобы полностью контролировать целые корпорации.

На следующем графике видно похожее распределение владения акциями крупнейших компаний мира - Big 5.

Доля владения акциями BlackRock и Vanguard в компаниях Big 5Доля владения акциями BlackRock и Vanguard в компаниях Big 5

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

Степень контроля (X - сила голоса) в компании в зависимости от вечеличины пакета акций (Y - процент капитала)Степень контроля (X - сила голоса) в компании в зависимости от вечеличины пакета акций (Y - процент капитала)

Таким образом, если у вас есть 7-20% акций нескольких основных компаний-монополистов, то вы почти полностью влияете на развитие всей отрасли.

При таком многократном перекрестном владении и при наличии долей практически во всех крупных корпорациях - как этим инвестиционным фондам удаётся следить за темой BIM или, например, развитием AR в строительстве, да и вообще за всеми технологиями мира одновременно?

Олигополия на рынке САПР

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

Доля доли BlackRock в компаниях САПРДоля доли BlackRock в компаниях САПР

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

Политолог Jan Fichtner из Амстердамского университета, исследуя этих основных финансовых игроков, утверждает: Влияние в основном осуществляется через фоновые дискуссии. Вы ведете себя на поводу у BlackRock и Vanguard, потому что знаете, что однажды вам может понадобиться их благосклонность. Для руководства компаний и корпораций рационально действовать в интересах основных держателей акций.

"Там, где есть договор, есть перочинный нож."

Шарль-Морис де Талейран-Перигор

Все, кто работает в развитии технологий строительной отрасли, постепенно попадают в жернова этой плановой экономики, созданной акулами капитализма при поддержке богатых династий запада, пенсионных фондов и печатного станка ФРС.

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

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

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

Бегство от свободы, Эрих Фромм

Как сегодня Trimble будет соперничать с Autodesk или Hexagon на одном рынке, если CEO этих компаний отчитываются ежеквартально перед одними и теми же инвестиционными фондами с WallStreet, которые, в свою очередь, не заинтересованы в резких изменениях на тех рынках, от которых зависят их годовые отчёты и, как следствие, их личные бонусы.

Нет здоровой конкуренции - не будет и новых технологий. Отчасти поэтому все крупные корпорации в мире строительного проектирования фактически не имели отношения к разработке новых продуктов в последние 20 лет.

Если ещё десять лет назад такие крупные компании, как Autodesk, Nemetschek, Trimble имели репутацию уже не новаторов, а скорее имитаторов, когда было достаточно просто скопировать новый популярный продукт и выпустить свой клон, то сегодня необходимость в клонировании продуктов отпала. Сегодня стартапы и целые компании скупаются за любые деньги, которые предоставляют своим подопечным BlackRock и Vanguard.

Чтобы не конкурировать друг с другом на одном рынке, каждая компания из big5 САПР выбирает для себя отдельные технологические ниши и скупает постепенно программы и любые технологии в этом направлении.

Основные стартапы, приобретенные за последние 20 летОсновные стартапы, приобретенные за последние 20 лет

Для примера John Walker (будущий CEO Autodesk) предлагал Mike Riddle купить Autocad в 1982 году всего за $15 тыс. (изначально за $8 тыс.), но Mike настоял на условиях продажи Autocad за 1$ и 10% c продаж продукта. В 2020 году Revit стал самым продаваемым продуктом Автодеск, который она купила в 2002 году за 133 млн долларов. А уже в 2018 году Autodesk заплатил за Plangrid (стартап-приложение для планшета) почти миллиард долларов ($875 млн), где одним членом из совета директоров, за несколько лет до покупки, стала бывшая CEO Autodesk - Carol Ann Bartz.

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

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

Мы убрали с рынка всех конкурентов, но почему мы не движемся вперед?Мы убрали с рынка всех конкурентов, но почему мы не движемся вперед?

!Нельзя ни в коем случае демонизировать структуры, которые были построены BlackRock и Vanguard: любая организация и скорее всего каждый человек на земле, имея такие бесплатные ресурсы и доступ к печатному станку, воспользовались бы этим и поступили бы на месте Blackrock точно так же, скупая всё на своём пути.

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

Для чего мировым вендорам САПР нужны тысячи специалистов по базам данных, oб open source решениях, а также о решениях, над которыми работают основные вендоры САПР, поговорим в седьмой части.

Чтобы к седьмой части немного лучше понимать нового игрока на рынке САПР - Oracle, базы данных и open source, а также из-за схожести поведения двух компаний - сравним историю Oracle с историей развития Autodesk и посмотрим на то, как эти две корпорации боролись с open source движениями на своём рынке.

Autodesk идёт по стопам Oracle

История Autodesk, одного из лидеров САПР-мира, начинает всё больше походить на историю такого лидера своего времени, как Oracle. Так же, как Autodesk с Autocad была последние 30 лет мировым лидером 2D-проектирования, Oracle, в это же время, была мировым лидером баз данных - DBMS систем (database management system).

Прибыль Oracle от бизнеса, построенного на хранении данных, примерно в 10 раз больше, чем продажи лидеров САПР-отрасли: годовой оборот Oracle сегодня - $20 mlrd., а у Autodesk - всего $1,7 mlrd.. Как и во всех технологических компаниях мира, ведущими акционерами Oracle (как и Autodesk, Trimble, Apple, Microsoft и почти всех компаний на земле) являются две крупнейшие в мире инвестиционные компании - Vanguard и BlackRock.

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

Как многие основные компании, выросшие после холодной войны, обязаны своим развитием федеральным и оборонным контрактам, так и Oracle на самом деле берет свое название от кодового названия проекта ЦРУ 1977 года. И именно ЦРУ было первым заказчиком Oracle.

C середины 2000-х Oracle начинает активно интересоваться строительной отраслью. Примечательно, что Oracle стал стратегическим партнёром buildingSMART в 2019 году, за один год до того, как главный САПР-производитель Autodesk присоединился к buildingSMART в 2020 году.У Oracle есть все шансы, чтобы стать лидером BIM-технологий. Об этом и почему BIM - это базы данных, поговорим подробнее в седьмой части.

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

Как в открытых письмах лучших архитекторов мира, адресованных Autodesk, (подробнее об этом в Часть 4: Борьба CAD и BIM. Монополии и лоббисты в строительной отрасли), так и в подкасте с Еленой Слеповой - мы все отмечаем, что Autodesk почти не развивает основной продукт Revit, а занимается только дизайном и украшательством интерфейса, попутно покупая новые стартапы (Navisworks, Assemble, Vault, Civil 3D) и технологии.

Открытое письмо архитектурных бюро мира Autodesk о том что продукт Revit не развиваетсяОткрытое письмо архитектурных бюро мира Autodesk о том что продукт Revit не развивается

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

Почему программы не развиваются

Любой большой программный продукт, разрабатываемый больше пяти лет, напоминает длинный "спагетти-код". При этом только несколько главных разработчиков в компании знают, как работает (максимум) 70% кода в такой программе, как Oracle Database, Autocad, Revit или Archicad.Новые инструменты от Autodesk, Nemetschek или Oracle сегодня являются лишь попыткой скрыть накопленные проблемы от разработчиков, потому что справиться с ними стало невозможно.

Затухание активного роста в техническом плане начинается с ухода разработчиков на более высокие должности или, что происходит чаще, с Exit основных разработчиков, которые забирают деньги (после продажи стартапа или выхода компании на IPO) и сами становятся венчурными инвесторами.

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

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

Legacy code не проблема - если тебе не нужно поменять егоLegacy code не проблема - если тебе не нужно поменять его

На примере Oracle можно представить, в чём же состоит сложность Legacy кода и почему программы из 90-х почти не развиваются в последнее время.

Объем кодовой базы Oracle Database в период разработки версии 12.2 в 2017 году составлял 25 миллионов строк на языке C и стоит вам изменить лишь одну из этих строк, как ломаются тысячи написанных ранее тестов. За прошедшие годы над кодом Oracle Database успело потрудиться несколько поколений программистов, которых регулярно преследуют жесткие дедлайны, благодаря чему код превратился в настоящий кошмар.

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

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

Возникает вопрос: каким же образом при всем этом Oracle Database (или Revit, Archicad) до сих пор удается держаться на ногах? Секрет в миллионах тестов. Их полное выполнение может занимать от 20 до 30 часов (при этом выполняются они распределенно на тестовом кластере из 100-200 серверов), поэтому сегодня процесс исправления одного единственного бага в Oracle Database занимает от нескольких недель до нескольких месяцев.

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

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

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

Геометрическое ядроГеометрическое ядро

Благодаря постоянной текучке кадров в дополнение к проблеме закрытой разработки кода, вокруг нас полно старых Legacy продуктов, которые написаны ужасно плохо, но при этом невероятно сложно и дорого поддерживаются сегодня на плаву. Причём переписать их уже никогда не получится, потому что они взаимодействуют с таким же ужасным кодом у пользователей продукта, и поэтому необходимо соблюдать совместимость с багами и не документированными особенностями. По этой причине многие продукты стали заложниками обратной совместимости. В том числе Windows, Microsoft Office и основные программы на рынке САПР.

У таких программ, как Revit, ArchiCAD, Microstation уже нет будущего, и возможно, сами вендоры это понимают. Поэтому все силы корпораций сегодня тратятся не на увеличение производительности геометрического ядра, а на поиск нового успешного продукта или новых уникальных разработчиков, как Leonid Raiz (Revit), Mike Riddle (AutoCAD) или Gabor Bojar (ArchiCAD).

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

Исследование Campaign for Clear Licensing, показало, что аудиты, проводимые такими поставщиками программного обеспечения, как Oracle и Autodesk (Microsoft, SAP, IBM) блокируют конкуренцию и препятствуют инновациям в ИТ-отделах компаний, где эти аудиты проводились.

Кто наименее полезный поставщик с точки зрения аудита? Oracle был признан худшим поставщиком в процессе аудита, за ним следуют IBM и Autodesk.Кто наименее полезный поставщик с точки зрения аудита? Oracle был признан худшим поставщиком в процессе аудита, за ним следуют IBM и Autodesk.

К началу 2000-х основные корпорации заняли свои ниши в отрасли и каждый год спокойно распределяли прибыли среди акционеров. Но с началом эры open source на горизонте появляется новый конкурент - разработчики открытых и прозрачных продуктов, совсем не похожие на специалистов по контракту, переехавших в Калифорнию или Бостон из Азии или Европы.

Основной головной болью руководителей больших корпораций Oracle, Microsoft, SAP, Autodesk, IBM к середине 2000-х становится не миллион строк спагетти кода, а новые open source продукты, стремительно набирающие популярность: Linux, GitHub, Spark, Mozilla, Gimp, PHP, WordPress, Android, Blender и тысячи других.

В случае с Oracle таким конкурентом стал молодой open source стартап из Швеции - MySQL.

Борьба корпораций с open source

Обычно любые стартапы, стоящие на пути корпораций, уже к началу 2000-х можно было купить при поддержке BlackRock, но как купить Оpen source-идею, за которой стоят сотни разработчиков со всего мира?

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

Популярность баз данных по годам с 2013 годаПопулярность баз данных по годам с 2013 года

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

В течение всего 2006 года Ларри Эллисон (глава Oracle с одесскими корнями) неоднократно предлагал выкупить MySQL, но трое друзей-шведов, основателей MySQL, постоянно отвергали предложение от империи зла Oracle, взлёт которой произошёл благодаря сотрудничеству с ЦРУ.

Стабильный Oracle c 1997 годаСтабильный Oracle c 1997 года

В итоге акционеры MySQL продали свой продукт компании Sun (отцы-основатели МySQL получили от сделки по $10 mln.) и уже в 2009 году Oracle сумел опередить IBM и заключил соглашение о покупке компании Sun (вместе с продуктом MySQL) за $7.4 миллиардов.

В 2009 MySQL ждало большое обновление: в версии MySQL 5.4 появилась поддержка 16-процессорных серверов x86, и, по некоторым тестам, производительность MySQL должна была вырасти в десятки раз. Выход MySQL 5.4 был запланирован на 21 апреля, но, по случайности, за день до того произошла сделка с Oracle.

Уже после покупки, чтобы не давать развития своему непокорному приёмному open source сыну, с 2009 г., Oracle (которая теперь являлась владельцем прав на MySQL) пыталась изнутри расшатать и замедлить открытую модель разработки знаменитой СУБД.

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

Но open source MySQL-идею убить уже невозможно, и разработчики из комьюнити MySQL начали перетекать в другие open source проекты. В итоге все основные разработчики MySQL махнули рукой на Oracle и перешли на более быстрые и современные open source базы данных - MariaDB (форк копия MySQL), PostgreSQL и SQL-lite.

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

Oracle, по сути, сделал c MySQL то же самое, что сделал Autodesk c IFC в середине 90-х, но гораздо быстрее и проще.

Autodesk и формат данных IFC

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

Так как сам Leonard Obermeyer не был программистом, эту идею он передал своему родному факультету мюнхенского университета, где дальнейшей разработкой нового открытого формата занимались Richard Junge и Thomas Liebich с командой студентов.

Идеей создателей IFC-формата было создать всемирный и свободный язык обмена данными в строительстве (несмотря на военные корни формата IFC-STEP, протокола Application Protocol 225), но в начале 90-х ещё мало было известно об open source.

Благодаря другу Leonard Obermeyer - Patrick MacLeamy (CEO of HOK) - Autodesk активно включается в развитие всемирной идеи IFC. Проходит всего несколько лет, и регистрацию и разработку IFC берёт полностью под свой контроль Autodesk.

Об этом подробнее в Часть 3: Отцы BIM технологий. Кто стоит за успехом Autodesk и openBIM?

Но к концу 90-х, не имея нормальных 3D-продуктов, сам Autodesk не смог применять нормально этот продукт в своих программах - и идея мирового 3D формата уходит под контроль картельной организации IAI (которая позже переименовывается в buildingSMART).

Для контроля над развитием IFC у руля buildingSMART остаётся Patrick MacLeamy, партнёр корпорации Autodesk по совместным проектам с компанией HOK (где McLeamy был CEO). К слову, в некоторых странах ещё сегодня представителями Autodesk и представителями buildingSMART являются зачастую одни и те же специалисты.

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

Подобным образом Autodesk выпустил на рынок open source решение Dynamo, которое используется в Revit и Civil 3D для расширения функционала. Dynamo изначально представлялся как open source продукт, который внезапно возник в 2011 году в недрах Autodesk (или точнее был разработан по заказу Autodesk). Так же, как и buildingSMART, к рождению которого приложила руку корпорация Autodesk, - код Dynamo тоже не отличается прозрачностью. Многие разработчики указывают на то, что пакеты, завернутые в библиотеки DLL, часто запрещают доступ к коду, что не позволяет пользователям исследовать ни код, ни то, как отдельные куски кода обрабатываются или анализируются в инструменте Dynamo. Что также не позволяет использовать Dynamo в продуктах, по-настоящему открытых, таких как BlenderBIM (для визуального программирования в Blender сегодня используется Sverchok).

Типы open source: совершенно свободный, с явным контролем, неявно контролируемыйТипы open source: совершенно свободный, с явным контролем, неявно контролируемый

Таким образом, Autodesk в контроле над открытыми проектами IFC и Dynamo создала конструкцию, похожую на ту, что Oracle создал с MySql. Только в мире баз данных - Oracle открыто, через Sun, купила open source - MySql, а Autodesk на расстоянии контролирует движение проектов Dynamo и buildingSMART (который, в свою очередь, старается на расстоянии общаться с европейскими вендорами openBIM движения - Nemetschek).

И если сегодня образуется по-настоящему новый open source формат или у Revit появится достойный open source конкурент, - то Autodesk пойдёт проверенным путём Oracle и, возможно, попытается выкупить права на любой продукт на самых ранних стадиях, что, скорее всего, опять продлит жизнь продуктам Autodesk ещё на одно десятилетие.

Как узнать кто уже мёртв, а кто ещё нет? Мы маленькая строительная компания.Как узнать кто уже мёртв, а кто ещё нет? Мы маленькая строительная компания.

Сегодня buildingSMART неспешно пытается устанавливать правила на рынке САПР, при этом интересы buildingSMART в основном диктуются потребностями основных игроков в этой нише - Autodesk, Bentley Systems (с 2019 Oracle).

Единственной более-менее свободной от лоббирования организацией остаётся альянс ODA (Open Design Alliance).

Проблема Autodesk - организация открытых стандартов - ODA

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

ODA создала продукты (основным из которых является Teigha) с возможностью для более чем 2000 организаций-членов работать без всякой оглядки на Autodesk, чем фактически убрал искусственные барьеры, которые сдерживали развитие всей отрасли САПР.

Альянс по Открытому Проектированию (Open Design Alliance) является некоммерческим консорциумом, нацеленным на распространение открытых форматов для обмена данными САПР. Технологическая платформа ODA обеспечивает пользователей средствами для создания широкого спектра приложений, включая средства визуализации и даже полномасштабные САПР. Платформа поддерживает файлы DWG, DGN, RFA, IFC, RVT с возможностями редактирования, импорта и экспорта в другие файловые форматы.

История ODA началась с попытки Autodesk купить компанию SoftDesk, которая в середине 90-х разрабатывала свою САПР-платформу с целью полностью заменить AutoCAD. После антимонопольного расследования суд запретил Autodesk покупать SoftDesk, который позже (после передачи прав VISIO) был выкуплен компанией Microsoft.

На основе технологий компании Softdesk и InteliCADD (позже InteliCAD) в 1998 году образуется новый альянс OpenDWG. Альянс ODA (OpenDWG Alliance) поставил своей целью уравнивать шансы всех производителей САПР-решений, вне зависимости от того, в каких отношениях с компанией Autodesk находятся эти разработчики.

Эквалайзер - урванитель САПР разработкиЭквалайзер - урванитель САПР разработки

Первый конфликт между ODA и Autodesk возник в начале 2000-х вокруг формата DWG.

В 1998 году ODA предоставила новые инструменты миллионам пользователей программного обеспечения с возможностью продолжать использовать формат файла DWG без привязки к единственному поставщику продуктов - Autodesk.

Примечательно, что сам формат файла DWG и программа Autocad были разработаны Mike Riddle и что DWG использовался в конце 1970-х в его InteractCAD, и только в 1982 году John Walker выкупает полностью продукт Autocad вместе с форматом DWG, основывая таким образом фирму Autodesk для массовой продажи DWG продукта.

Сам Autodesk после покупки программы Autocad (20 лет) не предоставлял API для доступа к файлам DWG, поэтому и ответом на такую закрытость стало появление на рынке САПР первой открытой инициативы: GNU LibreDWG, который мог читать формат DWG. Но, к сожалению, LibreDWG не мог редактировать информацию в DWG файле.

Этот барьер по изменению файла DWG смог преодолеть альянс ODA с продуктом Teigha, который позволял работать с форматом DWG в любой САПР-программе. Этот продукт уравнял шансы всех САПР-разработчиков, и именно ему обязаны своим успехом такие ныне известные компании, как бельгийская Bricsys, немецкая Graebert, французская DraftSight, китайская ZWSoft, российская NanoSoft и ряд других.

В ответ на открытые разработки Autodesk создал для сторонних разработчиков САПР инструмент - RealDWG (настоящий истинный DWG) в виде модулей экспорта и импорта, что позволяло сторонним разработчикам САПР-программ наконец встраивать в свой функционал экспорт и импорт чертежей в формате DWG.

С 2006 года на ODA посыпались судебные иски от Autodesk, которая пыталась защитить купленный ими в 1982 году продукт DWG. И с момента противостояния с ODA, чтобы усложнить жизнь конкурентам и искусственно ограничить конкуренцию, Autodesk создавала каждые несколько лет новую версию самого правильного DWG формата (при этом вставляя в формат водяные знаки Autodesk).

Иск компании Autodesk к альянсу ODA через Американский окружной суд (US District Court)Иск компании Autodesk к альянсу ODA через Американский окружной суд (US District Court)

В 2006 году компания Autodesk внедрила в обновленный формат DWG 2007 технологию TrustedDWG, которая позволяла определить, создан ли файл формата DWG в одной из программ Autodesk или в программе, использующей RealDWG. В случае, если файл DWG 2007 создан в нелицензированной программе, AutoCAD показывал сообщение, предупреждающее пользователя о возможных проблемах совместимости. Компания мотивировала своё решение заботой о пользователях.

Из-за резкого интереса конкурентов к инструментам ODA, спустя 25 лет после создания DWG, Autodesk в 2006 году решила зарегистрировать DWG как свою торговую марку. Захватив рынок CAD, Autodesk утверждала, что самый правильный DWG файл могут делать только продукты Autodesk.

Autodesk выиграл суды, и на первый взгляд показалось, что Autodesk отстоял свои права на формат DWG, но судебные запреты не стали концом света для альянса ODA.

В 2007 году иск был окончательно отозван. Стороны заключили мировое соглашение. ODA исключил код TrustedDWG из библиотек DirectDWG, а Autodesk изменил предупреждающие сообщение в AutoCAD 2008. В итоге в решениях суда речь шла только о торговой марке "DWG", при этом формат файла DWG остался общедоступным.

Информация о проигрыше в суде на официальном сайте ODAИнформация о проигрыше в суде на официальном сайте ODA

Возможно, уже сегодня подобная борьба разворачивается за форматы RVT и RFA.

Revit (и похожий продукт форк PTC - Solidworkds) и форматы RFA и RVT были разработаны Леонидом Райцем (и его учителем по PTC - Самуилом Гайзбергом) в 90-е. После покупки при помощи патентов и регистрации прав на торговые марки Autodesk пытался закрепить своё право над 3D САПР-программой Revit и её форматом.

В мае 2020 года, на пике интереса к продукту Revit и его BIM решениям (а не на закате популярности, как это было с Autocad), ODA официально выходит на рынок со своим продуктом BimRv SDK. BimRv SDK от ODA предлагает работать с данными Revit без зависимости от приложения Revit. Инструмент позволяет, например, создавать семейства (геометрию типов), не используя Revit.

За несколько лет до публикации релиза BimRv ODA становится первым вендором, который позволяет не просто читать информацию из IFС, а дает возможность создавать IFC геометрию, чего ещё ни одна САПР-компания сделать не смогла. Полный открытый IFC-набор инструментов от ODA будет представлять собой доступ к данным и к созданию объектов, интегрированный с высокоскоростной визуализацией и возможностями конвертирования IFC-данных в другие форматы, такие как .dwg.

Логично, что если инструмент, редактирующий Revit или IFC файлы от ODA, получит реальное распространение, то прибыли, которые Autodesk сегодня делает на своих продуктах, могут резко упасть.

На опыте борьбы с Softdesk и после судебных тяжб с ODA по продукту Teigha-DWG Autodesk понимает, что ODA c BimRv SDK уже продвинулась на порядок дальше в своих возможностях, и теперь ODA уже не допустит ошибок, которые были допущены в борьбе за открытость формата DWG.

Поэтому сегодня Autodesk остаётся массово скупать новые технологии на рынке стартапов или пробовать "усложнить" работу альянса ODA, который пытается незаконно (по мнению Autodesk) распространять форматы RVT и DWG и, по пути, стать тем самым возрождённым SoftDesk, который Autodesk не получилось до конца убить в самом начале развития.

Самый простой и верный способ обмануть человека это прикинуться другом.

Публий Овидий Назон

Наблюдая за успехами ODA со стороны, через несколько месяцев после того, как ODA опубликовал BimRV, Autodesk вынес волевое решение присоединиться к альянсу ODA, чтобы, возможно ближе понять все возможности альянса, который ещё не удалось купить. Autodesk указал причину присоединения к ODA: интерес к набору инструментов IFC от ODA (который обеспечивает полную и гибкую совместимость с IFC для любого настольного или веб-приложения). При этом в саму организацию buildingSMART, которая занимается не только инструментами IFC, но и разработкой непосредственно формата IFC, Autodesk вступил на один месяц позже, в октябре 2020 года.

ODA показывает BimRV SDK - Autodesk вступает в ODA - Autodesk вступает в buildingSMARTODA показывает BimRV SDK - Autodesk вступает в ODA - Autodesk вступает в buildingSMART

Из-за активности альянса ODA по раскрытию форматов RVT, RFA, начиная с 2020 года Autodesk стал активно возвращаться к управлению своим брошенным приемным сыном - форматом IFC, встраивая с версии Revit-2020 все те возможности экспорта в IFC формат, которые до этого (видимо, искусственно) тормозились или просто не развивались.

Возможно, Autodesk понимает, что закрытые форматы сегодня больше не смогут быть драйвером той бизнес-модели, которая успешно работала в 90-е годы, и поэтому сегодня Autodesk ставит для себя целью отказаться от форматов и продавать главным образом облачные решения. Одновременно с этим Autodesk спешит возглавить разработку открытых технологий в САПР-мире вслед за своими друзьями: IBM, Microsoft, Oracle, SAP, которые также заявили свои права на лидерство в open source-разработках (об этом подробнее в следующей части).

Но открытость open source плохо сочетается с той политикой, которую фирмы силиконовой долины проводили последние 30 лет.

В заключение

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

Старые корпорации, такие как Autodesk, Hexagon, Nemetschek Group, Trimble, построившие отличную инфраструктуру в 90-е, пытаются подстраиваться под быстрые изменения рынка. Разработка Legacy программ, например, Revit и Archicad, тормозится. Небольшие CAD и BIM стартапы или уничтожаются, или покупаются за пару миллионов (или как Plngrid, Aconex уже миллиардов) долларов - и уходят в бюрократическую систему дедлайнов и костылей; а к самостоятельной разработке новых идей и инструментов у корпораций, кажется, нет ни интереса, ни творческих способностей.

Олигополия в САПРОлигополия в САПР

Кризис программного обеспечения в САПР и в других технологиях носит также системный и поколенческий характер. Проблема в том, что сейчас у руля BlackRock, Vanguard, Oracle, Autodesk и других компаний стоит поколение X или Baby-Boomers, которые ещё помнят деколонизацию доминионов и карибский кризис в 60е.

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

Определение поколенийОпределение поколений

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

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

Плановая экономика тогда и сейчасПлановая экономика тогда и сейчас

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

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

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

Тот уже не хитрый, о ком все говорят, что он хитер.

Александр Суворов

Логично, что BlackRock и Vanguard уйдут в историю со своей бюрократией и сложными закрытыми конструкциями, точно так же, как эта бюрократия и вертикальная система связей исчезла из плановой экономики Советского Союза.Для поражения BlackRock и Vanguard не хватает только сильного соперника, которым может стать сегодня децентрализированная экономика.

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

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

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

Неизвестный автор

Остаётся надеяться на кризисы и чёрных лебедей, вроде COVID-19, благодаря которым специалисты со всего мира после 2021 года, возможно, перестанут торопиться переезжать в другие страны и искать своё место в этой, хоть и денежной, но очень забюрократизированной и устаревшей структуре. Такие новые уникальные специалисты, вроде Gabor Bojar, Mike Riddle, Samuel Geisberg, могут уже сегодня заниматься разработкой новых САПР-BIM технологий из любого доступного места.

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

Про решения Оpen source, монетизацию про то почему IFC это не open source поговорим в следующей части.


Если Вам интересна тема openSource и BIM (продукты с открытым кодом в строительстве) подключайтесь к обсуждению в группе телеграмм - bimopensource: https://t.me/bimopensource

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

Схема связей BIM программ указанных в статье в хорошем качестве доступна по ссылке.

Предыдущие статьи по теме:

Сравнение технологий в строительстве и 5D проектирование в Азии и Европе: Казахстан, Австрия, Германия, Китай, Украина

Войны лоббистов и развитие BIM. Часть 4: Борьба CAD и BIM. Монополии и лоббисты в строительной отрасли

Подробнее..

Тефифон. Виниловая пластинка в рулоне

09.04.2021 04:13:25 | Автор: admin

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

Так бы идея и заглохла, если бы у Карла не была своя радио фабрика"TEFI". Почти 5 лет ушло на доработку идеи и начался выпуск совершенно нового носителя звука-виниловой ленты в кассете.

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

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

Маленькие кассеты-15 минут, средние-1 час, большие -4 часа.

У всех популярных исполнителей тех лет были долгосрочные контракты с звукозаписывающими компаниями. Карлу остается выпускать альбомы малоизвестных исполнителей и классическую музыку. Продажи идут неплохо, пока не появляются долгоиграющие виниловые пластинки со скоростью 33, 1/3 об/мин. в 1948 году.

Новый стандарт существенно улучшил качество воспроизведения, а самое главное увеличилось количество проигрывания диска без потери качества. Это было достигнуто благодаря резкому снижению давления иглы звукоснимателя на звуковую дорожку. Если у патефонов и тефифона давление иглы достигала до 100 грамм, то у долгоиграющих пластинок давление иглы было всего 1,5-5 грамм. Вот так выглядит игла на виниловой пластинке под микроскопом (увеличение в 1000 раз.)

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

Звуковые дорожки разных стилей музыки выглядят по разному на пластинке

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

В начале 60х начинаются поставки кассет и проигрывателей в США под маркой Westrex черезWestern Electric.Однако продажи в США тоже были очень скромными. В 1965 году производство кассет и проигрывателей тефифон прекратили.

Ушла эпоха, а с ним и технология, но идея продолжила жить и процветать переродившись в стандарт магнитофонных кассетTRACK 8. Первая кассета с магнитной лентой этого стандарта была представлена в 1964 году (на год позже компакт-кассеты). Вот сравните кассету TRACK 8 и Тефифон

Абсолютно одинаковый принцип, только виниловая лента заменена на магнитную. Кассеты TRACK 8 унаследовали от тефифона и главный недостаток-нельзя перематывать, не выдерживает нагрузку и рвется лента. Максимум можно ускоренное воспроизведение.

Стандарт аудио кассет формата TRACK 8 была очень популярна в Америке вплоть до 1982 года. Магнитофоны для кассет этого стандарта выпускали многие фирмы Японии и Европы. Даже в СССР выпускался магнитофон "Электроника АСС-1".

Что касается записи звука на ленте, то советский инженер Александр Фёдорович Шорин еще в 1927 году получил патент на механическое устройство записи звука на пленку. В качестве ленты он предлагал использовать стандартную 35 мм целлулоидную киноленту (другой в СССР и не было). При длине ленты 300 метров и более 50 дорожек, общее время записи составляло 8 часов. Аппараты "Шоринофон" промышленно начали выпускаться в 1932 году. Они и записывали и воспроизводили, поэтому использовались в качестве репортерского диктофона. Так же "Шоринофоны" использовали при съемках звуковых фильмов.

За это изобретение инженер Шорин получил Сталинскую премию Первой Степени.

Ранее статья публиковалась мной на канале Полезные Интересности.

Подробнее..

Millennium dream. Строим компьютер мечты 2000 года

17.04.2021 12:09:16 | Автор: admin

Давайте вспомним детские мечты! Кто-то мечтал о крутом велосипеде, кто-то о большой модельке крутого автомобиля или домике для кукол, кто-то о щенке или котенке. Я уверен, практически у всех мечта была, и далеко не одна! А на стыке веков в заветном вишлисте у многих был компьютер. И, конечно, компьютер хороший. Чтобы и игры тянул, и модем был в эти ваши Интернеты сходить. А продвинутые хотели еще и в Фидо.

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

Воспоминания


Итак, осень 2000 года. Грядет мой 15-й день рождения. Конечно, я тайком надеюсь, что мне подарят компьютер, ведь до сих пор в семье такой техники не было. Самым продвинутым девайсом дома на тот момент был видеомагнитофон. Бюджет на покупку компьютера еще не известен пока есть возможность помечтать. Умом, конечно, я понимал, что светит мне максимум что-то из старших Celeron или, если очень повезет, Pentium III. Об AMD, естественно, все знали, но всерьез уже (К6) или пока (К7) не воспринимали.

Но мечты на то и мечты, что границ они не приемлют! На несколько страниц после домашних компьютеров начинался самый захватывающий для нас раздел Рабочие станции и серверы. Мальчишками мы, конечно, не понимали, что это не просто крутые и дорогие компьютеры, а инструменты для выполнения определенных задач, и искренне мечтали однажды поиграть на восьмипроцессорном сервере. Да, 8 процессоров Pentium III Xeon по 700 МГц с невиданным двухметровым кэшем (что у Celeron 128 Кбайт мы уже знали и совершенно недоумевали, почему у новых Pentium III его стало всего 256 Кбайт вместо 512 Кбайт у старых!) порождали самые радужные картины в нашем сознании!

Мы даже думали, что, наверное, DOS на такой машине можно запустить без оперативной памяти. А может даже и Windows 95! Что играм не нужен даже второй процессор, мы тогда не знали. И не понимали, зачем нужна эта странная Windows NT, когда есть девяносто восьмая. А грядущую 2000 ждали как замену именно ее, Windows 98!

Невероятные объемы памяти, сравнимые с жесткими дисками в компьютерах половины нашей школьной компании. Множество слотов Странно, почему туда не установить видеокарты? И побольше, побольше! Долго удивлялись, узнав, что в серверах почти никогда не бывает AGP. Потом один из нас сказал, что там очень крутой PCI, и AGP не нужен. Только видеокарты очень дорогие. Поэтому мы их и не видели.

Но серверы стоили многие десятки тысяч убитых енотов (вечнозеленых бумажек, что на рубеже веков любили называть условными единицами), тогда мы обратили свое внимание на рабочие станции. Два процессора, гигабайт или даже два памяти, понятные нашим умам видеокарты. Конечно, дорого, но тут пишут, что на этом можно рисовать 3D-картинки и даже создавать игры, а значит, и играть, наверное, тоже можно. Мой ум тогда зацепился за слово создавать, что и привело меня сначала к попыткам писать программы. Сразу оговорюсь: хороший программист из меня не вышел, а потом уже к домашнему серверу и первым заработкам настройке сетей в соседних школах. Но это уже другая история

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

Проект: Платформа


Начнем, конечно, с головы, а точнее с двух именно так и никак иначе. Можно, конечно, выбрать пару гигагерцовых Pentium III, но в дрим-машине обязательно должен быть Xeon. И не неправильный с 256 Кбайт кэша, который отличается от обычного пенька только корпусом, а самый крутой с двухметровым кэшем на ядре Cascades. В 2000 году был доступен только 700 МГц вариант, поэтому выберем именно его, а не вышедший с почти годовой задержкой Xeon 900 МГц.


Выбор процессора и даже его поиск это всего лишь цветочки. Ягодки будут дальше найти подходящую плату спустя двадцать лет оказывается очень непросто. Мои к ней требования: наличие слота AGP, форм-фактор АТХ или ступенька Е-АТХ (почему расскажу ниже). Остальное не так важно, ибо выбор очень и очень скудный.

Доступных чипсетов по большому счету всего два: заслуженный Intel 440GX Marlinspike, вышедший еще в 1998 году для первых Pentium II Xeon Drake, и новый (для 2000 года, конечно) Intel 840 Carmel с поддержкой двухканальной RDRAM. И если плату на первом найти сложно, но возможно, то второй является настоящим анобтаниумом и встречается в основном в брендовых рабочих станциях, а у нас тут самосбор.

Да и заглядывая назад, на стык веков, вспоминается, что понять смысл этой странной памяти RIMM мы тогда не могли стоит как чугунный мост, но вроде не сильно быстрее. Вот бы туда DDR! Вот она казалась королевским вариантом. Ходил даже слух, что если поставить ее 32 Мбайт, то машина будет летать, как будто ее там 128!


Внимательный читатель спросит, а как же ServerSet III? Да, у этого чипсета была версия с AGP. К сожалению, реализацию AGP от ServerWorks нельзя назвать удачной значительная часть функционала не поддерживается, что сказалось и на производительности, есть проблемы со стабильностью работы. Плюс платы на нем по редкости сравнимы с основанными на Intel 840.

Что же нам доступно? Почитав форумы и поговорив с более опытными коллегами, выводим следующий список:

  • ASUS XG-DLS
  • Intel MS440GX
  • Supermicro S2DGE/U/2/R
  • AOpen DX2G
  • EPoX GXB-M
  • Gigabyte GA-6GXDW
  • Iwill DGL200
  • MSI MS-6135
  • Rioworks XDG-LS
  • Tyan Thunder X


Есть еще японский эндемик от Freeway с двумя разными слотами Slot1 и Slot2 и однопроцессорная плата от Gigabyte GA-6GXU. Если такая странная вещь попадет в мои руки, я попробую создать бескомпромиссную машину для Windows 98.

Итак, часть списка отметается, так как поддерживают только 550 МГц процессоры на ядре Tanner, другая представляет скорее академический интерес ввиду редкости. Остаются только первые три варианта, и Asus из них самый интересный. И речь не об оснащении SCSI и сеть встречаются и на других платах, речь о user-friendly подходе к проектированию. Удобная система фиксации процессоров, усиливающая плату пластина с обратной стороны, более привычный BIOS даже с возможностью небольшого разгона (!) напоминает современные топовые платы от этого производителя.

Intel и Supermicro в сравнении с ней выглядят суровым серверным железом, хотя принципиально не уступают в функционале. При этом на их стороне проверенная надежность, в минусах значительно более скудные настройки, особенно у Intel. Углубляться в сравнение смысла большого нет, по сей день эти платы очень редки за год в России может встретиться одно-два предложения. Это тот случай, когда не ты выбираешь плату, а плата выбирает тебя.

Теперь расскажу подробнее, с чем связаны строгие требования к габаритам платы. По моей задумке машина должна разместиться в довольно компактном корпусе десктопе InWin H500. Это давно полюбившаяся мне модель классического дизайна в стиле кирпич. Безусловно, у него есть шикарная альтернатива в виде бигтауэра Q500 в том же стиле, но на стороне десктопа компактность и обаяние слипера (от англ. sleeper термин, обозначающий быстрый автомобиль, в совершенно не выделяющемся облике; в данном случае мощный компьютер в скромно выглядящем корпусе). В этом стиле построена и моя боевая рабочая станция на паре E5-2670v3, которая дала весьма интересный опыт постройки довольно горячей машины в небольшом объеме корпуса.


Да, чуть не забыл про оперативную память. Достаточно будет максимума! Чипсет 440GX поддерживает до 2 Гбайт память SDRAM и удивительно всеяден может работать с обычной или регистровой памятью, с ECC или без, поддерживает чипы плотностью до 256 Мбит (модули до 1 Гбайт).

Проект: Видеосистема


Вернемся к мечтам! Практически каждый ребенок хочет на компьютере поиграть. А значит, нужно выбрать самое крутое игровое решение, которое при этом будет не очень выбиваться из роли серьезной рабочей станции. Выбор игровых карт широк: уходящий чемпион GeForce 256; еще не появившийся в продаже, но уже анонсированный GeForce 2; прежний король 3D-графики 3Dfx Interactive; представленный двухчиповой Voodoo 5 5500 и так и не вышедшей на рынок Voodoo 5 6000; успешный Radeon от вечно догоняющей ATi. Были и другие, уже уходящие решения вроде S3 Savage, но они к мечтам имеют весьма опосредованное отношение.

Карт для рабочих станций, пожалуй, еще больше. Но большинство из них узкоспециализированные и в играх будут не очень хороши. Пока лишь одна серия может называться действительно универсальной это Quadro от Nvidia. Эти карты (как происходит и по сей день) основаны на игровых чипах, но используют другие драйверы, оптимизированные для профессиональных OpenGL-приложений. Но и в играх они показывают очень достойный результат. Наш выбор оригинальная Quadro или ее обновленная версия Quadro 2 Pro (на базе GeForce 2 GTS). Обе карты довольно редки, поэтому используем ту, что удастся найти.


Но на этом останавливаться не будем. В 2000 году все еще очень популярны игры, использующие API Glide от 3Dfx Interactive наследие времен, когда каждый производитель разрабатывал свое решение. А решение 3Dfx было одним из лучших до прихода OpenGL на ПК и перехода на DirectX от Microsoft в стадию относительной зрелости. AGP слот может быть только один, поэтому установить одну из последних моделей Voodoo не получится без отказа от более производительной карты.

Поступим по-другому схожую, а зачастую и большую, в сравнении с топовыми одночиповыми решениями последних поколений (Voodoo 4 4500 и Voodoo 3 3500) обеспечивает пара представленных еще в 1998 году Voodoo 2. Эти карты поддерживают технологию SLI (именно так, Nvidia в 2001 году приобрела активы 3Dfx, в том числе интеллектуальную собственность и торговые марки), позволяющую двум ускорителям совместно работать над рендерингом кадров, по очереди обрабатывая четные и нечетные строки. В итоге видеосистема займет три слота расширения как и сейчас, в 2021! А доступными остаются еще три PCI и один ISA слот (или 2 PCI и 2 ISA один из слотов универсальный).


В последние годы ретрокомпьютинг стал популярным хобби. Но с популярностью стали заметно расти и цены на железо, особенно на игровое ведь значительная часть поклонников ретро ретрогеймеры. Самым ярким примером являются как раз культовые видеокарты 3Dfx серий Voodoo и Voodoo 2. Так что пара Voodoo 2 будет ударом по бюджету и сегодня не только майнеры греют цены на видеокарты! Но с учетом амбициозности проекта на эту жертву придется пойти. Причем для получения достаточной производительности хватило бы и одной, но в таком случае разрешение было бы ограничено режимом 800х600 пикселей. При использовании SLI можно получить большее разрешение 1024х768, оно куда более комфортное.

Проект: Диски и внутренняя периферия


В серьезной машине все должно быть серьезно! Долгое время, если в одном предложении упоминались диски и слово серьезно, рядом было и третье слово скази (SCSI). Действительно быстрые и надежные диски выпускались именно с этим интерфейсом. Если для IDE пределом так и остались 7200 rpm (оборотов в минуту) и соответствующая производительность, то SCSI уже несколько лет выпускались на 10000 rpm, а в 2000 году появились и 15000 rpm модели. Наш выбор 15000 rpm, никаких компромиссов в этом вопросе жесткие диски давно стали узким местом, а емкости 36 Гбайт будет вполне достаточно. Диск будет всего один: RAID-массивы в рабочих станциях на стыке веков еще прочно ассоциировались с серверами и только в системах обработки видео начинали занимать свою нишу.

Под стать диску будет и оптический привод: он тоже должен использовать шину SCSI. DVD пока избыточен широкое распространение дисков начнется через пару лет, а вот возможность записи уже крайне востребована. А самые лучшие устройства записи в то время выпускал Plextor. Именно они долгое время были самыми быстрыми и надежными, в них впервые появились многие новые технологии, впоследствии ставшие стандартными: защита от опустошения буфера, overburn возможность записать на диск немного больше данных, чем заложено стандартом. На самом деле дисковод куплен заранее и специально отложен под этот проект. Это Plextor PX-W1210TS, внутренний SCSI-привод CD-RW с возможностью записи на скорости 12х, перезаписи 10х и чтения 32х.


Пригодится и возможность долговременного хранения больших объемов данных, для этого заложим в проект стример накопитель на магнитной ленте. Разумное соотношение цены и емкости обеспечивают накопители стандарта DDS-3, вмещающие до 12 Гбайт на кассету (до 24 Гбайт с учетом сжатия). В 1999 году появился новый стандарт DDS-4, поднимающий планку до 20 Гбайт на кассету (40 Гбайт с учетом сжатия). Но приводы еще очень дороги это удел серверов, а не рабочих станций. Можно еще установить ZIP-драйв или магнитооптический привод, но это, пожалуй, будет уже излишеством.

Остановимся на вышеперечисленном. Для всего этого понадобится хороший SCSI-контроллер. Самыми надежными и беспроблемными контроллерами этого периода были девайсы от Adaptec 2940U2W (Ultra 2, до 80 Мбайт/сек) и 19160 (Ultra160, до 160 Мбайт/сек). На одном из вариантов и остановлю свой выбор.

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

Существовали и другие похожие форматы для записи семплированной, трекерной музыки XM, MOD, S3M. Вокруг них сложилась целая субкультура, связанная в том числе с демосценой. Об этом мы рассказывали в одной из прошлых статей. Теперь же наступила эпоха MP3 и прежние форматы стали не так уж актуальны. Возросла и мощность процессоров и доступное для хранения данных место. Поэтому рассматривать ISA карты с аппаратной реализацией MIDI не станем, хотя AWE32/64 были бы одним из лучших решений для машины эпохи Pentium Pro.

В моду входит объемный звук и эффекты позиционирования в играх. В первом случае одно из лучших решений A3D от Aureal, доступное в картах на чипах Vortex/Vortex 2, во втором API EAX от Creative, которое наиболее полно раскрывается в картах серии Sound Blaster Live! В общем случае качество звука сравнимое, но мои симпатии на стороне Creative.


Остается всего два слота, в PCI установим сетевую карту. Intel PRO/100 отличный выбор, но сильную конкуренцию этим картам создает 3Com с серией 3C905B/C. Здесь поступим просто: какая из этих карт первая попадется в коробке с сетевыми принадлежностями, ту и поставим. А вот слот ISA занять и нечем. Можно, конечно, найти модем USRobotics Courier ISA, но общественное мнение в те годы было на стороне внешних модемов, подключающихся к COM-порту.


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

А теперь мы попробуем со всем этим взлететь вспоминаю старый анекдот. Да, для такой системы нужен соответствующий блок питания. И это тот случай, когда даже очень мощный современный блок не подойдет. Большинство блоков питания, выпущенных после 2001-2003 года, выдают максимальный ток по линии +12 В, в то время как раньше основная нагрузка была на пятивольтовую линию. Такой источник питания нам и нужен.

Крайне желательно использовать блок хорошего производителя, чтобы быть уверенным в его качестве и спустя 20 лет. При этом мощности в 300 Ватт будет вполне достаточно. У меня был отложен для этого проекта блок питания от серверного корпуса Intel Columbus, это отличный вариант. Максимальный ток по линии +5В составляет аж 40А.

Воплощение: поиски, сборка и отладка


Как я уже упомянул выше, проект зрел очень долго, и триггером для его старта была появившаяся на известной доске объявлений плата Supermicro S2DGE. Это младшая версия платы, она не имеет дополнительных встроенных контроллеров, в отличие от ближайшей родственницы S2DGU, несущей на борту контроллер шины SCSI и делящей с S2DGE дизайн PCB. До этого я упустил MS440GX, удивившись высокой цене, сравнимой с актуальными домашними решениями средне-верхнего уровня.

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

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

Коллега сразу предупредил, что платы Supermicro этой серии не поддерживают ACPI, так как проектировались еще в 1998 году в соответствии с требованиями Windows NT 4.0 основной системы для рабочих станций на основе архитектуры x86. Она с трудом поддерживала APM, а об ACPI представления даже не имела. Напомним, что отдавать команду на выключение питания в системах с APM эта система умела только при установке патча от Hewlett-Packard.

В части случаев помогает установка драйвера NT APM/Legacy Interface Node и небольшие манипуляции с реестром, но, как оказалось, это работает только с однопроцессорными системами и не совместимо с MPS-совместимым ядром. Поэтому такая забавная особенность и останется при выключении будет появляться знаменитая надпись Теперь питание компьютера можно отключить.

Несмотря на все эти особенности, решение принято, плата куплена и направляется в Петербург. Два дня пути, и она у меня в руках. Для теста заблаговременно вытащен процессор из сервера IBM Netfinity 7100, там как раз подходящий Pentium III Xeon 700 МГц, с напряжением питания 2.8 В (бывают версии с питанием 5/12В, такие использовались в основном в брендовых машинах) и кэшем 1 Мбайт. Тест успешен плата жива, процессор, как и заявлено, поддерживается. Но есть нюансы

Во-первых, плата ругается на микрокоды Supermicro решили не добавлять их в последний публично доступный BIOS, в FAQ на сайте компании упоминается обновленная версия для поддержки процессоров на ядре Cascades, но публично она не доступна. Техподдержка им поделиться не может за давностью лет. Во-вторых, неправильно определяется частота 550 МГц, как у последней модели на предыдущем ядре Tanner.

Первое победить так и не удалось нужно пересобирать BIOS, а пока программатора в моем арсенале нет не рискну. А вот второе, хоть я изначально тоже грешил на BIOS, оказалось проще. После установки ОС стало понятно, что частота неправильно установлена CPU-Z показал те же 550 МГц. Ох, невнимательность! Коллега деликатно подсказал мол, достаточно изучить инструкцию и даже подсказал, куда конкретно заглянуть. Множитель у этих процессоров оказался не залочен, в отличие от десктопных собратьев, его необходимо задавать джамперами. После переключения множителя с 5.5 на 7 все встало на свои места и частота, и производительность системы.

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

В принципе в продаже были даже довольно редкие 900 МГц процессоры, вышедшие последними уже в 2001 году, но они не укладываются ни во временные рамки, ни в бюджет их цена была в среднем в 5(!) раз выше, чем на выбранный 700/2М вариант. Поиски и принятие решения заняли всего один день в результате были приобретены процессоры от сервера IBM с радиаторами стандартного размера, не выступающими за пределы картриджа. Подошли они идеально, и можно продолжать поиски комплектующих!

Собственно, на момент покупки платы и, соответственно старта проекта, часть комплектующих уже была в наличии: корпус, блок питания, жесткий диск, оптический привод и стример. Благодаря этому минимальная версия будущего компьютера мечты запущена запущена довольно быстро пока в нем всего 512 МБайт памяти (пара планок по 128 МБайт прибыли бонусом с материнкой, еще 256 нашлось в моих закромах) и SCSI-контроллер времен Pentium Pro модель Adaptec 2940UW.

Сразу же решил и вопрос с охлаждением. Процессоры Slot2 рассчитаны на использование пассивных радиаторов с внешним обдувом. Supermicro предлагает использовать 40 мм вентиляторы для продувки пространства между процессорами. Для обдува радиатора второго процессора решение не предусмотрено. В моем проекте используется обычный корпус, в котором не предусмотрено формирование воздушных потоков, как это сделано в специализированных корпусах для рабочих станций и серверов. В нем есть два посадочных места для 80мм вентиляторов по одному на передней и задней стенке. При этом задний вентилятор находится ровно напротив процессоров. Берем вентилятор от сервера IBM с небольшим воздуховодом и направляем поток воздуха аккурат на оба радиатора. Распределение потока практически поровну между процессорами.

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

Определенные приключения вышли с памятью. Изначально четыре планки по 512 Мбайт SDRAM, другой коллега по увлечению согласился обменять на такое же количество 2 Гбайт планок DDR2. К сожалению, одна из них работала не стабильно. Скорее всего причина в ее нестандартной организации двухсторонней однобанковой. На помощь пришло внимательное перечитывание даташита чипсет 440GX поддерживает регистровые модули, в том числе и гигабайтные. Ограничение действует на объем чипа, а не модуля. В итоге из запасов была извлечена пара 36-чиповых планок производства Kingston на микросхемах объемом 256 Мбит. Они заработали без единой проблемы и сэкономили массу времени.

С немалой долей везения удалось договориться о покупке видеокарты Elsa Gloria II выручил тот же коллега по увлечению, у которого была приобретена материнская плата. Видеокарта с именем принцессы основана на первой версии чипа Quadro, аналоге GeForce 256, и несет на борту 64 Мбайт SDRAM памяти, подключенной к GPU через 128-битную шину. Второй успех из теплого Сочи вот-вот отправится механизм фиксации процессоров (компанию ему составят запчасти для другого проекта реставрации сервера HP NetServer LH Pro). Найден и SCSI-контроллер новый, нераспакованный Adaptec 19160 из чьего-то ЗИП.

Очень повезло со звуковой картой. Узнав о проекте, друг, держащий магазин железа секонд-хенд, подарил отличный экземпляр Creative SB Live! Platinum (модель CT4760). Эта карта имеет позолоченные, а не окрашенные аналоговые разъемы и черный порт для джойстика. Мелочь, а смотрится весьма стильно. Из собственных запасов взяты сетевая карта 3Com Etherlink 10/100 и модем культовый USRobotics Courier V.Everything, также известный как Большой черный Курьер.

Незадолго до старта проекта мне посчастливилось приобрести три карты Voodoo 2 с пометкой некогда тестировать за очень скромную сумму. Самое удивительное, что две из трех карт оказались работоспособны. Обе версии с 12 Мбайт видеопамяти, но от разных производителей. Одна Orchid Righteous 3D II, другая более редкая Gainward Dragon 3000. Впрочем, при более внимательном тестировании карта от Gainward показала наличие проблем работает только один TMU (блок текстурирования) из двух.


Починить карту не удалось, а поиски и покупка новой (и желательно идентичной первой) вне бюджета и по времени, и по финансам. Так что придется обойтись одной. По производительности это сильно не ударит, но ограничит разрешение до 800х600. Со временем, скорее всего, карту я все же приобрету и установлю, но уже не в рамках этой статьи.

Сеанс ностальгии


Установка операционной системы и софта проблем не вызывает. В Windows 2000 уже есть драйверы для большинства устройств, но для скоростного SCSI-контроллера придется приготовить дискету с драйвером и нажать F6 при загрузке с установочного диска. После установки системы необходимо установить драйверы для видеокарты и 3D-ускорителя. Опционально для звуковой карты, штатный драйвер не позволяет использовать все ее возможности.

Кроме Windows 2000, полноценно работать смогут OS/2 Warp (придется использовать серверную версию Warp Server for e-Business или eComStation/SMP), Linux (оптимально Red Hat Linux 7.3 или 8.0), FreeBSD. Для этих систем большого смысла в профессиональной 3D-карте нет. На мой взгляд, лучшим выбором стала бы Matrox G450 Dual Head. Voodoo станет если не бесполезным, то очень узко применимым поддержка его в Linux ограничена, а в OS/2 отсутствует. Зато в этих системах нормально поддерживается APM будет работать программное отключение питания. Можно было бы выбрать Windows NT 4.0, но, будучи отличной рабочей системой, она имеет весьма ограниченную совместимость с играми.

Что можно делать на этой машине? Да что угодно! Основное, пожалуй, это игры. Игры тех лет не могли похвастаться картинкой фотографического качества и глубиной погружения, им приходилось привлекать аудиторию интересными и необычными сюжетами, проработкой игровой механики. За это многие любят их до сих пор. А некоторые игры просто вызывают ностальгию Quake II, в который рубились на каждой перемене в компьютерном классе, или Герои Меча и Магии, к которым приучила девушка, с которой встречался в 15 лет. Кто-то найдет удовольствие в возможности вспомнить рабочие инструменты двадцатилетней давности Delphi 6, Photoshop 6.0, Premiere 5.1 и другие. Главное найти то, что подарит эмоции именно вам!

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

  • Windows 2000 Professional одна из самых удачных версий Windows;
  • Borland Delphi 6 первые шаги в программировании;
  • Netscape 6 окно в большой интернет;
  • Adobe Photoshop 6.0 тот самый;
  • Дальнобойщики 2 культовая игра, Made in Russia!
  • Quake 2 без комментариев;
  • Quake III на тот момент очень модная стрелялка!
  • Heroes of Might and Magic III игра вне времени!

Много скриншотов с компьютера мечты
Рабочий стол ОС

Свойства системы

Photoshop 6.0

LabView 6.1

Delphi 6

Netscape 6

Герои меча и магии III Возрождение Эрафии

Герои меча и магии III Возрождение Эрафии

Установка Quake II


Quake II

Quake III Arena

Дальнобойщики 2 загрузка

Дальнобойщики 2 первый рейс. Тогда эта графика казалась великолепной!

Заключение


Подведем итог и заодно дадим машине мечты имя. По традиции коллекции Digital Vintage сборки высокого уровня именуются SERVERGHOST Constellation, так будет и в этот раз.

Итак, встречайте: SERVERGHOST Constellation X6! Финальная спецификация:

  • 2 процессора Pentium III Xeon 700 МГц c 2 Мбайт кэша
  • 2 Гбайт оперативной памяти SDRAM
  • Материнская плата Supermicro S2DGE
  • Видеокарта ELSA GLoria II (nVidia Quadro) 64 Мбайт SDR
  • Графический ускоритель Orchid Righteous 3D II (3Dfx Voodoo 2) 12 Мбайт
  • Жесткий диск Seagate Cheetah 36 Гбайт 15000 rpm SCSI
  • CD-RW Plextor PX-W1210TS SCSI
  • Стример Compaq DDS-3 SCSI
  • SCSI-контроллер Adaptec
  • Звуковая карта Creative Sound Blaster Live! (CT4760)
  • Сетевая карта 3Com Etherlink 10/100
  • Внешний модем USRobotics Courier V.Everything

Вывод диагностической программы AIDA64

Почти 21 год спустя моя (и думаю, не только моя) мечта сбылась заново, теперь в полном объеме. Пожалуй, пойду отправлю школьным приятелям ссылку на эту статью! До новых встреч и новых историй!

Бюджет или пост скриптум


Пожалуй, этот раздел добавить необходимо. Машина получилась интересная и, возможно, кого-то эта статья вдохновит на сборку похожей системы. Самое главное понять, готовы ли вы потратить деньги и время на машину, которая, скорее всего, принесет вам только удовольствие, но вряд ли когда-либо окупится использовать ее как рабочий инструмент не получится, ее время прошло.
Позиция Диапазон цен Кол-во Фактические затраты
Корпус Inwin H500 500-2000 1 шт. 1500
Плата Slot2 c AGP Supermicro S2DGE 12000-25000 1 шт. 16000
Процессор Pentium III Xeon 700/2M 2000-3000 2 шт. 4000
Память 1 ГБайт Reg. SDRAM 500-3000 2 шт. 1000 (обмен)
Видеокарта Nvidia Quadro 2500-6000 1 шт. 3000
Видеоускоритель 3Dfx Voodoo 2 12 Мбайт 5000-12000 1 шт. 1500
Звуковая карта SB Live! SB4760 500-3000 1 шт. бесплатно
SCSI-контроллер Adaptec 19160 1500-2000 1 шт. 1500
Сетевая карта Intel Pro/100 100-500 1 шт. бесплатно
Блок питания Delta 300 Вт 200-2000 1 шт. 300
Жесткий диск 36 Гбайт SCSI 200-2000 1 шт. 350
Оптический привод CD-RW SCSI 1000-10000 1 шт. 1500
Стример DDS-3 SCSI 500-10000 1 шт. 600
Модем USRobotics Courier 0-3000 1 шт. бесплатно
Итого: 31250
Как вы можете заметить, местами мне изрядно везло. В поисках ретрожелеза самое важное внимательность и терпение, а также общение с продавцами. Интересные предложение, особенно по низким ценам, уходят быстро. Часто продавцы ставят цены, которые видят в объявлениях (и товары по этим ценам висят месяцами, а зачастую и годами), а не те, по которым товар реально продается. Как правило, с ними можно договориться о компромиссе.

Редко удается найти все комплектующие в своем городе, даже крупном готовьтесь к расходам на почтовые услуги. В таблице они не отражены, но в среднем могут составить от 3 до 10% бюджета. Большой выбор комплектующих есть на eBay, редкие вещи иногда есть смысл заказать именно там. При этом на более распространенное железо цены там могут быть значительно выше, чем на локальных досках объявлений.

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

Подумайте, стоит ли сразу собирать компьютер мечты? Для первого ретрокомпьютера можно использовать более распространенные комплектующие обычный Pentium III (1000 МГц Coppermine немного уступит 700 МГц Xeon, а модели на ядре Tualatin с 512 Кбайт кэша могут сравниться и 900 МГц моделью). Да и необходимость в двухпроцессорной системе есть далеко не всегда: самые популярные ностальгические системы линейки Windows 95/98/Me просто не умеют использовать второй процессор.

Подробнее..

Altair 8800 короткий рассказ о великом компьютере

11.04.2021 14:15:43 | Автор: admin

Мир компьютерных технологий велик и многообразен. За 60 с лишним лет, прошедших с появления первых монструозных ЭВМ, произошло много больших и маленьких открытий. Компьютеры переселились из машзалов научных институтов сначала в офисы крупных компаний, а затем на письменные столы обыкновенных пользователей.

Сегодня мы поговорим о по-настоящему знаковой машине, Altair 8800, и о ее создателе. Этот компьютер смог доказать всему миру: за устройствами на микропроцессорах будущее.

В сравнении со своим предшественником, первым микрочиповым компьютером Micral, Altair оказался чрезвычайно успешным на рынке продуктом. Его создатель, Эд Робертс, предполагал, что ему удастся продать всего пару-тройку сотен машин, да и то только энтузиастам. Однако в первый же месяц было реализовано несколько тысяч компьютеров.

Продавались компьютеры в те годы через почту: компания дала рекламное объявление в Popular Electronics и прочих специальных изданиях, а покупателям предлагалось отправить по указанному адресу письмо с заказом. К покупке были доступны и полностью собранные юниты, и наборы для сборки.

Altair 8800 по праву считается первой искрой, из которой разгорелся пожар микрокомпьютерной революции. Компьютерная шина, разработанная для Altair, де-факто задала стандарт целой отрасли. А Altair BASIC, первый язык программирования для этой машины, был разработан небезызвестной компанией Micro-Soft (тогда ее название еще писалось через дефис).

Появление MITS

В 1969 году молодой и амбициозный инженер Генри Эдвард Робертс (он родился в 1942 году) работал в специализированной лаборатории ВВС в Нью-Мексико. Вместе с тремя своими коллегами он решил применить знания в области электроники для организации производства небольших наборов для любителей моделей ракет.

Эд Робертс в 80-еЭд Робертс в 80-е

Друзья организовали компанию Micro Instrumentation and Telemetry Systems (MITS) по тогдашней традиции, прямо в гараже Робертса в Альбукерке. Вскоре они выпустили первую партию радиопередатчиков и наборов для сборки ракет. Продукт не снискал особого успеха на рынке, и вскоре MITS перешла на выпуск DIY-наборов для сборки калькуляторов. Этот проект оказался чуть более удачным и позволил компании перейти на более серьезные товары.

Первый продукт компании мигалка для ракетПервый продукт компании мигалка для ракетКалькуляторы MITSКалькуляторы MITS

С выходом процессора Intel 8080 в апреле 1974 года рынок микропроцессоров по-настоящему взлетел. Новый CPU мог адресовать до 64 КБ ОЗУ, и его мощностей хватало на построение полноценного компьютера. Поэтому вслед за комплектами для сборки калькуляторов Робертс принялся разрабатывать нечто более интересное. Первый компьютер на базе Intel 8080 в качестве прототипа появился на свет поздней осенью 1974 года. Робертсу удалось добиться интервью с журналом Popular Electronics (там уже знали, что MITS работает над созданием компьютера на базе Intel 8080) и таким образом прорекламировать свою разработку. Предполагалось, что интервью и обзор компьютера будут опубликованы в горячем январском номере журнала. Что касается названия, слово Altair было предложено Робертсу издательством.

Обложка журнала Popular Electronics, январь 1975 г., с изображением Altair 8800Обложка журнала Popular Electronics, январь 1975 г., с изображением Altair 8800

Altair 8800 появился на рынке в самый подходящий момент. MITS успела обзавестись достаточной клиентской базой школы, колледжи, домашние любители электроники. И все они хотели заполучить собственный компьютер. Киллер-фичей Altairов по сравнению с прочими компьютерами на базе Intel 8080 стал высокоуровневый язык BASIC: в отличие от традиционного в то время языка ассемблера, он был гораздо проще в освоении и понижал порог входа для новичков. К тому же Altair был достаточно мощным, чтобы оказаться действительно полезным. Предполагалось, что машину можно будет расширять и, соответственно, приспосабливать под решение самых разных задач.

Реклама Altair 8800Реклама Altair 8800

Первые продажи

Придя в банк за ссудой, Робертс оптимистично заявил, что за год сможет продать 800 компьютеров. А чтобы выйти в плюс, достаточно реализовать всего 200 единиц. Каково же было его удивление, когда после публикации рекламы в Popular Electronics на митс сошла целая лавина заказов. Пришлось нанять в штат дополнительных людей только для того, чтобы отвечать на звонки потенциальных покупателей. Уже к концу февраля MITS получила 1000+ заказов на Altair. Это не могло не сказаться на времени поставки: заявленных 60 дней не хватало на то, чтобы подготовить и выслать все заказы. Лишь к середине года Робертсу и его коллегам удалось наладить процесс подготовки и отправки компьютеров. В мае того же года MITS отчиталась, что ей удалось успешно поставить уже 2500 штук Altair 8800. А к августу их число превысило 5000. Это не могло не сказаться и на устройстве компании: если в январе в MITS работало менее 20 человек, то к октябрю их число возросло до 90.

Линия сборки Altair 8800Линия сборки Altair 8800

Компьютер оказался крайне прибыльным, а шина расширения позволила MITS продавать дополнительную память и интерфейсные платы. В Altair использовался CPU Intel 8080A (реже 8080), работавший на частоте 2 МГц (каждая инструкция занимает 4 такта). Объем оперативной памяти составлял всего 256 байт (память 1024 слова), а плата с ней продавалась отдельно. Язык BASIC, о котором было объявлено в июле 1975 года, требовал наличия одной или двух плат памяти на 4096 слов, а также интерфейсной платы. Сам комплект Altair стоил 439 долларов. Платы памяти на 1024 слова (176 долларов) и 4096 слов (264 доллара) докупались по мере необходимости. Позднее Робертс представил также платы параллельного интерфейса (92 доллара) и 2 типа плат последовательного интерфейса: для загрузки программ с аудиокассет и для работы с телетайпом.

Altair 8800Altair 8800

Программировать на первой версии Altair было сущей пыткой: подключение клавиатуры не было предусмотрено, и инструкции вводились в машину сугубо механическим путем. Пользователь должен был переключать переключатели-рычажки на корпусе машины в положения, соответствующие инструкциям микропроцессора 8080 или коду операции в двоичном формате, а затем загружать код в память машины переключателем ввода. Этот алгоритм требовалось повторять до тех пор, пока вся программа не окажется введена в память. Сейчас сложно это представить, но в первой версии Altair единственным пользовательским интерфейсом была панель с лампочками. Собственно, на мигании лампочками функционал компьютера и заканчивался. Но продажи все росли и росли. Робертс в поте лица трудился над созданием дополнительных карт-модулей, среди которых были устройство для чтения перфолент, дополнительные платы RAM, последовательный интерфейс RS-232 для подключения к телетайпу, видеокарта и 8-дюймовый дисковод для дискет объемом до 300 КБ.

Фронтальная панель Altair 8800Фронтальная панель Altair 8800Внутренности компьютераВнутренности компьютера

Двое взволнованных мужчин

Статья об Altair чрезвычайно заинтересовала студента Гарвардского университета по имени Билл Гейтс и его хорошего друга Пола Аллена. Они связались с Робертсом и предложили ему купить их собственный интерпретатор языка BASIC. Робертса предложение заинтересовало, однако никакого интерпретатора на тот момент не было и в помине. Только после общения с Робертсом Гейтс и Аллен приступили к его написанию. В качестве тестовой платформы они использовали самодельный симулятор 8080 на миникомпьютере PDP-10. Подобная спешка была обоснована резонным предположением программистов, что пройдет еще неделя-другая, и их опередит кто-то другой. Как только интерпретатор для PDP-10 был готов, Аллен полетел в Альбукерке на презентацию. Программа летела с ним, записанная на перфоленту.

Перфолента с Altair BASICПерфолента с Altair BASIC

Первый запуск программы оказался неудачным: интерпретатор выводил сообщение Altair Basic на экран и неминуемо вылетал. Что-то было не так с бумажным носителем. Тем не менее, Робертс согласился немного подождать и дать BASICу шанс. Уже на следующий день Аллену доставили новую, протестированную ленту, и она, слава богу, запустилась без проблем.

Первая когда-либо введенная программа на BASIC выглядела так:

10 print 2 + 2

После ввода команды run она вернула правильный ответ. Робертс сразу же предложил Аллену должность директора отдела по разработке программного обеспечения (который состоял из единственного сотрудника, других разработчиков ПО у MITS еще не было). Гейтс, тогда еще не ушедший в академический отпуск ради создания собственной компании, также устроился в MITS на полставки. Лишь спустя некоторое время Гейтс и Аллен покинули MITS и основали Micro-Soft.

Теперь скажем пару слов о важности Altair для всей компьютерной промышленности. Altair 8800 вдохновил энтузиастов по всем США на создание Клуба любителей домашних компьютеров. Позднее из этой организации появилось более двух десятков компьютерных компаний, включая Apple Computer.

В 1977 году MITS была куплена Pertec Computer Corp. за $6 млн, а Робертс поступил в медицинский институт Университета Мерсера. Неизвестно, по какой причине он решил сменить сферу деятельности, но, так или иначе, компьютеры для него остались в прошлом. Надо сказать, Робертс не единственный человек, ушедший из технологического бизнеса после реализации единственного успешного проекта. Что-то подобное произошло и с небезызвестным Клайвом Синклером, этой темы мы уже касались в одной из прошлых статей.

Всю оставшуюся жизнь Робертс проработал сельским врачом в Кокране, штат Джорджия, и скончался 1 апреля 2010 года.

Видео с демонстрацией работы Altair 8800:

Основной источник

Подробнее..

Категории

Последние комментарии

© 2006-2021, personeltest.ru