антисемитство
May. 27th, 2023 10:06 amУвидел опять рассказы про злые антесимистские задачи-"гробы", и в процессе обсуждения меня спросили: а ты что бы делал, если бы тебе дали такую страшную задачу, например вот? Я на нее посмотрел, и примерно за 5 минут решил: https://vak.dreamwidth.org/1022001.html?thread=7788849#cmt7788849 Смешно вышло.
На самом деле то, что про эти задачи пишут страдальцы: "Решение должно быть простое (в пределах курса средней школы), чтоб у абитуриента не было повода возмутиться. Но при этом оно не должно легко находиться стандартными способами, которые обычно работают" - это просто определение задач на сообразительность. Где нужно не тупо применять шаблонный метод, а придумать свой собственный метод с нуля. Ну вот и выходило, что люди без сообразительности отсеивались. Сейчас интервьюшные задачи во всяких гуглях - аналогичные по сути, только из области программирования, и точно так же есть толпы обиженных. У меня один кандидат даже прям во время интервью сказал, что он от таких вопросов теперь burned-out.
Я, кстати, и в МГТУ на математике шестую (сложную стереометрическую, и типа тех якобы "гробов") задачу решил, а меня все равно не взяли. Вот ведь где русофобия! Но на самом деле я, конечно, знаю, почему меня не взяли - я неправильно решил задачи на тупую зубрежку. А вот там же в комментах пишут, что типа в том же самом МГТУ евреев заваливали - я не понимаю, как это технически можно проделать. Там экзамен по математике был письменный, проверялся анонимно, и после экзамена можно было посмотреть подробности оценки и подавать аппеляции (я так пол-балла нааппелировал). Экзамен по физике хоть и теоретически устный, в реальности тоже целиком писался на бумаге, включая дополнительные вопросы (так что еcли что - тоже аппелировался), просто проверялся сразу. (Кстати да, на физике меня на втором дополнительном вопросе тоже завалили - вопрос был на зубрежку, и недодали полбалла). Ну, то есть, будь я как те еврейские страдальцы москвичом, меня бы взяли, а на место с общежитием мне баллов не хватило, там на конкурсе была разница в один балл.
Мне головоломки всегда нравились, а вот зубрежка - нет. Например, в школе у нас в классе люди, не смыслящие в математике, любили экзамен по геометрии. Почему? Потому что там можно тупо зазубрить ответы на все вопросы и не надо ничего понимать. У меня же зубрежка никогда не шла, я все эти теоремы просто доказывал с нуля. Поэтому на экзамене чуть не вышел конфуз - я доказал не так, как в учебнике и мне сказали, что у меня ответ неправильный. Ладно хоть учительница математики сумела убедить остальных членов комиссии, что так доказывать тоже можно. Правда, в институте я в итоге разработал успешный метод зубрежки, и если бы я его знал до того, то многие мои проблемы с экзаменами были бы легче. Фокус в том, что и в школе и родители меня учили зубрить неправильно: долго долбить один вопрос, потом переходить к слеующему. А по уму надо быстро прочитывать весь курс целиком на много раз (для особо простых предметов - раза три достаточно, для очень сложных - хотя бы семь-восемь). И начиная с где-то третьего чтения не только читать, но и начинать воспроизводить. Первое чтение идет долго, может занять дня три, а последние чтения идут гораздо быстрее - прочитать два раза до обеда и заняться другими вещами.
Особенно же из историй страдальцев мне понравилась история от https://traveller2.livejournal.com/ которую он рассказывал лет 10 назад, о поступлении его дочки в спецшколу. Его дочка сходила на собеседование перед 1-м классом, и ее не взяли. "Не может такого быть, чтобы моя дочка, такой умный ребенок, провалиила собеседование! Это явно злой антисемитизм!" - вскричал он, позвонил знакомым, и его дочку в эту спецшколу все равно зачислили, по блату. Вот так он победил, значить, антисемитизьм, и до сих пор с гордостью рассказывет без какой-либо рефлексии.
Про школьные собеседования у меня тоже есть личная история, как я его чуть не завалил. Мама меня к нему готовила, и доготовила до того, что я книжки, на которых она меня практиковала к пересказу, я запомнил наизусть (угу, вот оно, многократное повторение). А тут новый текст, и я его с первого прочтения наизусть не запомнил (текст, кстати, помню какой - "Серая шейка", про уточку). О чем так и сказал. Но тут мне учителя помогли: спросили, про кого текст, и могу ли я рассказать своими словами. Это я смог. Это в Челябинске спецшкола в отдаленном районе. А то - самая центральная в Москве, где гораздо выше конкуренция. Но нет, если дочка не прошла, то это непременно от антисемитизьма. Зато блат - это, значить, хорошо и правильно.
На самом деле то, что про эти задачи пишут страдальцы: "Решение должно быть простое (в пределах курса средней школы), чтоб у абитуриента не было повода возмутиться. Но при этом оно не должно легко находиться стандартными способами, которые обычно работают" - это просто определение задач на сообразительность. Где нужно не тупо применять шаблонный метод, а придумать свой собственный метод с нуля. Ну вот и выходило, что люди без сообразительности отсеивались. Сейчас интервьюшные задачи во всяких гуглях - аналогичные по сути, только из области программирования, и точно так же есть толпы обиженных. У меня один кандидат даже прям во время интервью сказал, что он от таких вопросов теперь burned-out.
Я, кстати, и в МГТУ на математике шестую (сложную стереометрическую, и типа тех якобы "гробов") задачу решил, а меня все равно не взяли. Вот ведь где русофобия! Но на самом деле я, конечно, знаю, почему меня не взяли - я неправильно решил задачи на тупую зубрежку. А вот там же в комментах пишут, что типа в том же самом МГТУ евреев заваливали - я не понимаю, как это технически можно проделать. Там экзамен по математике был письменный, проверялся анонимно, и после экзамена можно было посмотреть подробности оценки и подавать аппеляции (я так пол-балла нааппелировал). Экзамен по физике хоть и теоретически устный, в реальности тоже целиком писался на бумаге, включая дополнительные вопросы (так что еcли что - тоже аппелировался), просто проверялся сразу. (Кстати да, на физике меня на втором дополнительном вопросе тоже завалили - вопрос был на зубрежку, и недодали полбалла). Ну, то есть, будь я как те еврейские страдальцы москвичом, меня бы взяли, а на место с общежитием мне баллов не хватило, там на конкурсе была разница в один балл.
Мне головоломки всегда нравились, а вот зубрежка - нет. Например, в школе у нас в классе люди, не смыслящие в математике, любили экзамен по геометрии. Почему? Потому что там можно тупо зазубрить ответы на все вопросы и не надо ничего понимать. У меня же зубрежка никогда не шла, я все эти теоремы просто доказывал с нуля. Поэтому на экзамене чуть не вышел конфуз - я доказал не так, как в учебнике и мне сказали, что у меня ответ неправильный. Ладно хоть учительница математики сумела убедить остальных членов комиссии, что так доказывать тоже можно. Правда, в институте я в итоге разработал успешный метод зубрежки, и если бы я его знал до того, то многие мои проблемы с экзаменами были бы легче. Фокус в том, что и в школе и родители меня учили зубрить неправильно: долго долбить один вопрос, потом переходить к слеующему. А по уму надо быстро прочитывать весь курс целиком на много раз (для особо простых предметов - раза три достаточно, для очень сложных - хотя бы семь-восемь). И начиная с где-то третьего чтения не только читать, но и начинать воспроизводить. Первое чтение идет долго, может занять дня три, а последние чтения идут гораздо быстрее - прочитать два раза до обеда и заняться другими вещами.
Особенно же из историй страдальцев мне понравилась история от https://traveller2.livejournal.com/ которую он рассказывал лет 10 назад, о поступлении его дочки в спецшколу. Его дочка сходила на собеседование перед 1-м классом, и ее не взяли. "Не может такого быть, чтобы моя дочка, такой умный ребенок, провалиила собеседование! Это явно злой антисемитизм!" - вскричал он, позвонил знакомым, и его дочку в эту спецшколу все равно зачислили, по блату. Вот так он победил, значить, антисемитизьм, и до сих пор с гордостью рассказывет без какой-либо рефлексии.
Про школьные собеседования у меня тоже есть личная история, как я его чуть не завалил. Мама меня к нему готовила, и доготовила до того, что я книжки, на которых она меня практиковала к пересказу, я запомнил наизусть (угу, вот оно, многократное повторение). А тут новый текст, и я его с первого прочтения наизусть не запомнил (текст, кстати, помню какой - "Серая шейка", про уточку). О чем так и сказал. Но тут мне учителя помогли: спросили, про кого текст, и могу ли я рассказать своими словами. Это я смог. Это в Челябинске спецшкола в отдаленном районе. А то - самая центральная в Москве, где гораздо выше конкуренция. Но нет, если дочка не прошла, то это непременно от антисемитизьма. Зато блат - это, значить, хорошо и правильно.
Место, которого нет
Jan. 30th, 2023 01:06 amЗдание СКО в Нью Джерси имело адрес в местечке Мюррэй Хилл, почтовый индекс 07974. Но на самом деле такого городка нет. Откуда же он взялся в адресе? История длинная.
AT&T Белл Лабс были изначально расположены в Нью-Йорке, на Манхэттэне. То здание все еще стоит, хоть и не знаю что там теперь расположено. А Белл Лабс переехали в 1950-х годах в Нью Джерси.
AT&T купило землю на стыке двух городков — Нью Провиденс (New Providence) и Бёркли Хайтс (Berkeley Heights), половина участка в одном городке, половина в другом. Дальше у них вышли разногласия по налогообложению недвижимости: Нью Провиденс дал более низкий налог, а Бёркли Хайтс уперся с более высоким. AT&T тогда плюнуло и построило все здания на той половине, что в Нью Провиденсе, а часть в Бёркли Хайтс оставило пустой. Она и до сих пор пустая, там находится вертолетная площадка и футбольные поля для игр сотрудников.
Внутри здания Белл Лабс я так никогда и не был, но это здоровое здание, выстроенное квадратом (сотрудники, там работавшие, рассказывали о сложной системе коридоров). Оно настолько большое, что по меркам 1950-х годов ему требовалось свое собственное почтовое отделение.
Вообще почтовые отделения не фиксированы во времени, они по мере улучшения транспортной ситуации укрупнялись. Когда-то почтальоны ходили пешком, и было много мелких почтовых отделений. Сейчас они ездят на машинах, и отделения слились и укрупнились. И сейчас в Нью Джерси есть множество мест, которые как бы исторически отдельные городки, но настолько мелкие, что в наше время им уже не полагается отдельного почтового отделения, и их объединяют в отделение более крупного городка. Например, один мой друг живет в местечке Фредон (Fredon), но почтовое отделение у них общее с Ньютоном (Newton). На адресе можно писать хоть так хоть так, и он на самом деле предпочитает Ньютон, поскольку почтовые сотрудники время от времени путают Фредон с Фридомом (Freedom), который расположен в другой части штата. Такая путаница — это вообще проблема, поскольку даже в одном штате могут быть несколько городков с одинаковым именем в разных графствах. Наверное, рекорд — это 11 разных городков под названием Ньютаун (Newtown, то есть Новгород) в Пенсильвании.
Так вот, возврящаясь к Белл Лабсу, со своим почтовым отделением они завели и свое собственное имя места. На Манхэттэне они располагались в районе под названием Мюррэй Хилл (Murray Hill). Поэтому они взяли себе такое же имя почтового отделения. Даже при том, что такого городка в Нью Джерси нет и никогда не было.
Со временем почтовые отделения укрупнились (да и возможно меньше стало доставки обычной почтой), и теперь Мюррэй Хилл — одно из названий, обслуживаемых почтой Нью Провиденса. Когда AT&T построило еще одно здание через дорогу дальше в Нью Провиденсе, оно использовало для него то же самое название Мюррэй Хилл в адресе, и то же название улицы. Ну а потом AT&T разделилось, здание оказалось лишним, его продали под коммерческую аренду офисов, и позже в него въехало СКО. И заполучило красивый адрес, напоминающий о Белл Лабсе.
Само здание тоже было своеобразным. Оно было построено в форме полукруга, на холме, и изначально имело три этажа. А потом его расширили: подкопали холм и снизу засунули еще два этажа. Но вход остался как был, поэтому входя с улицы там попадаешь прямо на третий этаж, где и располагалось СКО, занимая в лучшие годы весь этаж.
AT&T Белл Лабс были изначально расположены в Нью-Йорке, на Манхэттэне. То здание все еще стоит, хоть и не знаю что там теперь расположено. А Белл Лабс переехали в 1950-х годах в Нью Джерси.
AT&T купило землю на стыке двух городков — Нью Провиденс (New Providence) и Бёркли Хайтс (Berkeley Heights), половина участка в одном городке, половина в другом. Дальше у них вышли разногласия по налогообложению недвижимости: Нью Провиденс дал более низкий налог, а Бёркли Хайтс уперся с более высоким. AT&T тогда плюнуло и построило все здания на той половине, что в Нью Провиденсе, а часть в Бёркли Хайтс оставило пустой. Она и до сих пор пустая, там находится вертолетная площадка и футбольные поля для игр сотрудников.
Внутри здания Белл Лабс я так никогда и не был, но это здоровое здание, выстроенное квадратом (сотрудники, там работавшие, рассказывали о сложной системе коридоров). Оно настолько большое, что по меркам 1950-х годов ему требовалось свое собственное почтовое отделение.
Вообще почтовые отделения не фиксированы во времени, они по мере улучшения транспортной ситуации укрупнялись. Когда-то почтальоны ходили пешком, и было много мелких почтовых отделений. Сейчас они ездят на машинах, и отделения слились и укрупнились. И сейчас в Нью Джерси есть множество мест, которые как бы исторически отдельные городки, но настолько мелкие, что в наше время им уже не полагается отдельного почтового отделения, и их объединяют в отделение более крупного городка. Например, один мой друг живет в местечке Фредон (Fredon), но почтовое отделение у них общее с Ньютоном (Newton). На адресе можно писать хоть так хоть так, и он на самом деле предпочитает Ньютон, поскольку почтовые сотрудники время от времени путают Фредон с Фридомом (Freedom), который расположен в другой части штата. Такая путаница — это вообще проблема, поскольку даже в одном штате могут быть несколько городков с одинаковым именем в разных графствах. Наверное, рекорд — это 11 разных городков под названием Ньютаун (Newtown, то есть Новгород) в Пенсильвании.
Так вот, возврящаясь к Белл Лабсу, со своим почтовым отделением они завели и свое собственное имя места. На Манхэттэне они располагались в районе под названием Мюррэй Хилл (Murray Hill). Поэтому они взяли себе такое же имя почтового отделения. Даже при том, что такого городка в Нью Джерси нет и никогда не было.
Со временем почтовые отделения укрупнились (да и возможно меньше стало доставки обычной почтой), и теперь Мюррэй Хилл — одно из названий, обслуживаемых почтой Нью Провиденса. Когда AT&T построило еще одно здание через дорогу дальше в Нью Провиденсе, оно использовало для него то же самое название Мюррэй Хилл в адресе, и то же название улицы. Ну а потом AT&T разделилось, здание оказалось лишним, его продали под коммерческую аренду офисов, и позже в него въехало СКО. И заполучило красивый адрес, напоминающий о Белл Лабсе.
Само здание тоже было своеобразным. Оно было построено в форме полукруга, на холме, и изначально имело три этажа. А потом его расширили: подкопали холм и снизу засунули еще два этажа. Но вход остался как был, поэтому входя с улицы там попадаешь прямо на третий этаж, где и располагалось СКО, занимая в лучшие годы весь этаж.
Когда СКО подало свое судебное дело против ИБМ, ИБМ решило действовать как в поговорке “я ему отомщу, на балкон надрищу” и открыло судебные дела о нарушении СКО их патентов. Соответственно, потребовалось оценить, насколько эти претензии спреведливы. Мне достался вопрос о патенте на сжатие данных командой compress – это был такой классический юниксный архиватор, который существовал еще до gzip’а. Но на самом деле не только, та же компрессия используется и во все еще популярном формате графических файлов GIF. Компрессией я до того не занимался, так что интересно было в этом разобраться.
Нет, ну кодирование Хаффмана, где повторяющиеся строки бит кодируются битовыми строками переменной длины согласно частоте их встречания в тексте (чем чаще, чем короче назначается кодированная битовая строка), и совсем примитивные варианты типа run length encoding (замены многократных повторов одного символа счетчиком повторов), мы в институте проходили, но это не то, как типично делается сжатие в современной реальности.
Хотя вообще архиваторы на основе кодов Хаффмана существовали – так был устроен совсем древний юниксный архиватор pack. Но они уже давно не используются. Кстати, интересной особенностью сжатия по Хаффману является то, что если попытаться сжать его результат другим архиватором, он не очень-то и сожмется. Другие алгоритмы обычно предполагают, что данные состоят из целых байтов, а Хаффман производит битовые строки произвольной длины, которые не выровнены по границам байтов, и соответственно когда эти битовые строки оказываются сдвинуты внутри байтов на 1, 2, и так далее бит, то они выглядят разными байтами. И заодно другое отступление, почему программы сжатия по-русски традиционно называются “архиватор”. Так сложилось, что первой массово распространившейся такой программой стал pkarc на МС-ДОСе. “pk” - это инициалы автора (который позднее создал pkzip, который до сих пор является популярным форматом), а “arc” - сокращение от “archive”, архив. Соответственно, архиватор. Потом были и другие программы, называвшиеся аналогично. Скажем, одно время очень популярным был lha, где опять же “lh” - инициалы автора, а “a” означает “архив”.
Ключом ко всей современной архивации стал алгоритм Лемпеля и Зива (Lempel and Ziv), патентом на который владеет (точнее, владела, поскольку сейчас его срок уже истек) фирма Юнисис. Я начал с чтения этого патента. В самом патенте оно излагается несколько запутанно, но суть на самом деле там довольно простая. Алгоритм находит повторяющиеся строки байт и кодирует их числами фиксированной длины. То есть, например, если взять фиксированную длину в 16 бит, можно закодировать 65536 строк. Что делать, если мы исчерпали все возможное число строк, а текст не кончился, и мы в нем обнаружили новую строку, которую до того не видели, и нужно ей назначить новый код? Тут есть варианты. Один вариант – начиная с этого момента увеличить длину кода, и теперь кодировать каждую строку не двумя байтами, а тремя. Другой вариант – сбросить всю память о назначенных строках и начать их кодировать сначала. Это выглядит на первый взгляд странно, но часто большие файлы состоят из разных частей, и строки, которые часто встречаются в одной части, оказываются редкими в другой, так что избавление от знаний о предыдущих давних частях – не такая уж и большая потеря.
Вторая часть проблемы заключается в том, как находить эти повторяющиеся строки, и когда они найдены, то как записать “словарь” соответствия строк кодам в сжатый файл, не тратя на это чересчур много байт. Это главная проблема, которую решает алгоритм Лемпеля и Зива. Он начинает с того, что первые 256 значений в коде отводятся под просто байты – то есть, если надо передать просто байт, то он раширяется слева нулями до фиксированной длины кодового значения. Потом мы начинаем читать входной файл и пытаться найти в словаре самую длинную строку, которая будет соответствовать началу файла. Если мы ее нашли, то записываем на выход код этой строки, плюс один следующий байт (его можно не расширять, а так и записать одним байтом). И добавляем в словарь новую строку, состоящую из найденной строки плюс следующего байта, со следующим доступным кодом. Если же мы не нашли в словаре ничего соответствующего, то записываем один следующий байт из файла, расширенный до длины кода, плюс второй байт, который следует за первым. И потом точно так же добавляем эту новонайденную двухбайтовую строку в словарь. В-принципе, можно на это посмотреть и с другой стороны, и сказать, что мы сначала инициализируем словарь всеми возможными однобайтовыми строками, и тогда вторая ситуация сводится к первой – мы всегда сможем найти в словаре какую-то строку, которая просоответствует началу оставшегося файла, хотя бы из одного байта.
И особая прелесть этого алгоритма заключается в том, что он одновременно записывает сжатые данные и сжатый же словарь! Когда вторая часть алгоритма начинает разжимать данные, она добавляет в словарь строки, которые она разжимает, назначая им первый свободный код. И поскольку при сжатии и разжатии проходят одинаковые данные, первый свободный код оказывается в обоих случаях одинаковым, его даже не надо передавать в явном виде! Результат, конечно, получается не идеален, например длинные повторяющиеся последовательности из одного символа набираются в словарь долго, из кусочков, которые каждый раз удлиняются на один символ, и в словаре оказываются и строки, которые потом никогда не повторяются. Но в общем и целом результат лучше, чем у всего, что было придумано до того.
Следующим усовершенстованием, сделанным Велчем (Welch) владел тоже Юнисис, и вся эта комбинация из двух идей известна как LZW (Lempel-Ziv-Welch). Тут фокус в том, что классический алгоритм ЛЗ строит словарь в виде больших префиксных деревьев, хранение которых в виде собственно деревьев довольно неэффективно и требует много памяти, а в 1980-х годах, когда этот алгоритм был придуман, памяти в компьютерах было мало. Поэтому вместо деревьев, словарь хранится в памяти в виде хэш-таблицы. Первые 256 ячеек в ней все еще отведены под строки из одного байта, а вот добавление новых строк делается по-другому. Вместо того чтобы взять следующий свободный номер, новый номер получается комбинированием номера префиксной строки и нового байта через хэш-функцию. И тогда в ячейку таблицы по этому номеру записывается номер префиксной строки и новый байт. Это дает компкатное представление, по которому можно восстановить строки, а так же удобно отыскивать префиксы. Но, конечно, когда таблица оказывается прилично заполненной, то сильно увеличивается вероятность конфликтов, когда мы посчитали номер новой ячейки, а опаньки, там уже оказываются другие значение. Тогда это трактуется как переполнение словаря, вся хэш-таблица очищается, и заполнение начинается сначала.
Внимательный читатель на этом месте спросит: погодите, а где же тут ИБМ? Именно так, ИБМа тут нет. ИБМу принадлежит другой патент, который ни в команде compress ни в ГИФах не используется. Суть того патента в том, чтобы строить новые строки в словаре не как “строка + байт”, а как “строка + строка”. Это позволяет быстро выращивать длинные повторяющиеся последовательности – скажем, если у вас есть подряд сто букв “а”, то классический ЛЗ и ЛЗВ будут удлинять строки линейно - “а”, “аа”, “ааа”, “аааа”, и так далее, а ИБМовский вариант – по экспоненте - “а”, “аа”, “aaaa”, “aaaaaaaa”. Но оно нигде в Юниксе не используется.
Когда я стал это объяснять юристам, пришлось потратить довольно много сил на разъяснение разницы между строкой, пусть даже содержащей один байт, и одним байтом. Среди юристов есть большая разница между юристами младшими и старшими. Сначала я общался с младшей юристкой, как бы даже не паралегалом (это младший юрист без собственно университетской юридической степени, примерно как выпсуник техникума, и без самостоятельной юридической лицензии), а потом уже с настоящим юристом. Если младшая была ни в зуб ногой, то старший просек фишку быстро.
Следующим их вопросом было, а вот до того ИБМ судился с Информиксом и выиграл, и в доказательство ссылался вот на эту книжку. Почитал я еще и ту книжку. И обнаружил, что книжка описывает ИБМовский алгоритм, но называет его ЛЗВ. Но это совсем не то, что говорится в патентах, книжка эта оказалась ошибочной и ссылаться на нее как на доказательство напрочь нельзя.
Младшая юристка почитала описание дела Информикса, и нашла, что Информикс приводил в аппеляции этот аргумент, что книжка неправильная, но этот аргумент не был допущен. Но тут старший юрист ее поправил – надо, говорит, разобраться, почему он не было допущен, может они аппеляцию подали не вовремя. Ну, и поскольку до суда с моим экспертным присутствием дело не дошло, видимо, разобрались, и ИБМ сама отлезла. Меня вот эта ИБМовская наглость, со ссылкой на совсем левую и неправильную книжку как доказательство, несколько поразила. Ну, а люди из Информикса, видимо, не прочухали понять собственно текст патентов.
Надо сказать, что тут еще патенты были написаны довольно популярно. Вот потом в одной из боле епоздних компаний, когда подавали патент на мою идею, ее написали в таком виде, что не зная своего изначального изложения, я бы ни в жисть не догадался, что и зачем там имеется в виду. Похоже на то, что это стало самостоятельной целью юристов: с одной стороны защитить свою идею патентом, с другой стороны сделать этот патент максимально нечитаемым, чтобы было как можно сложнее по нему догадаться, что имеется в виду, и понять изобретение.
Занятие экспертной оценки патентов мне понравилось, но как-то вот больше заняться им не довелось. Зато этот опыт отразился на моем восприятии кампании Electronic Frontier Foundation (EFF) о патентном праве. ЭФФ – бесприбыльная организация, существующая на пожертвования, и согласно своему уставу занимающаяся защитой свобод в электронном мире. Примерно в 2010 году ЭФФ начало возмущаться ситуацией, когда мелкие изобретатели или сами требуют денег с компаний, использующих их патент, или продают свои права компаниям, специализирующимся на таких делах (ЭФФ называет их “патентными троллями”). Ну, в некоторых случаях, когда патентуемое тривиально, то можно повозмущаться тому, какие тривиальные патенты выдают, но не самой практикой. Ведь это – единственный способ, каким мелкие изобретатели могут получить доход со своих патентов. Суть патента – именно в том, чтобы он лиценизировался кому угодно за деньги. А настоящие патентные тролли – большие компании типа ИБМ или Гугла, которые сидят на своих патентах и не лицензируют их, зато используют их как средство внерыночного давления на конкурентов, как ИБМ давило на СКО. Надо, конечно, не забывать, что те же ИБМы и Гугли дают ЭФФу пожертвования, так что направление их возмущения не случайно. С этого началось мое разочарование ЭФФом. А потом они и вовсе проявили себя коммуняками, выступающими за Вселенское Зло, так что своих денег я им уже очень давно не жертвую, и другим не советую.
Я, честно говоря, не знаю, как людям удается получать тривиальные патенты. Я, было дело, уже в более недавние времена пытался получить патент самостоятельно, правда не в компьютерной области, а на косилку. У моего участка находится довольно высокая дорожная насыпь, и косить на ней траву ручной косилкой очень неудобно и утомительно, а трактором не заедешь. И вот я придумал этакую раму, чтоб привесить ручную косилку к трактору, трактором ездишь сбоку по плосокй части, а косилка ездит по косогору. Гораздо легче и быстрее. И решил попытаться ее запатентовать и продать какому-нибудь производителю. Этих мелких тракторов продается дикое количество, если одному проценту их владельцев надо как и мне косить косогор, и если получить по десятке-другой с каждой продажи, то это бы приличные деньги набрались. Заявку я написал, пришлось довольно долго переписываться с патентным офисом по поводу новизны и отличий от предыдущих патентов. Но в итоге мне все равно патент зарубили, поскольку формулировка сделана неправильно.
Американские патенты состоят из двух основных частей. В первой части свободным слогом описывается изобретение, приводятся картинки и прочее. Во второй части идет формулировка патента (patent claims). Это формулировка довольно краткая, и пишется в специфическом формате: каждая формула – одно предложение, но с массой сложноподчиненных частей. И когда дело доходит до суда, то играет роль только то, что написано в формулировке, первая часть если и участвует, то только в качестве контекста, если во второй части обнаруживаются какие-то спорные моменты. Поэтому важно ее сформулировать правильно. Ну, базовые вещи типа использовать слово “включает” (comprises), а не “состоит из” (consists of), я уловил – если писать “состоит из”, то добавление любого нового элемента к рецепту сделает его не попадающим под действие патента, а если “включает”, то вариант с дополнительным элементом может быть самостоятельно патентуемым, но все равно попадающим под изначальный патент. Но, видимо, тонкости я не прочухал, поскольку мне сказали, что мои формулы написаны неграмотно.
Можно было, конечно, пойти к профессиональному юристу, но это дорого, я поинтересовался – они брали по $400 в час, встало бы в несколько тысяч. Ну и поскольку продать свое изобретение мне к тому времени так и не удалось, то я решил, что бессмыссленно делать лишние траты. С продажей мелких изобретений большим производителям все непросто. До некоторых производителей вообще не достучаться. У них, видимо, политика подобная тому, что я когда-то читал в мемуарах Азимова: “когда люди присылают мне свои рукописи на оценку, я их не читаю, чтобы они потом не обвинили меня в том, что я использовал их идеи”. Так и тут, чтобы в присылаемых идеях не оказалось таких же идей, до каких они дошли самостоятельно. До некоторых производителей я достучался, но толку не вышло: как они сказали, это устройство слишком опасное, и им такое выпускать не позволят федеральные требования по защите прав потребителей. Ну да, немножко опасное, зато удобное. В моей личной шкале оценок рисков против удобств, тут удобства напрочь побеждают риски, и я с радостью пользуюсь своим устройством. А федеральные законы с примерно 1970-х годов направлены на защиту идиотов в ущерб разумным людям, спасибо проклятому Ральфу Нейдеру.
Нет, ну кодирование Хаффмана, где повторяющиеся строки бит кодируются битовыми строками переменной длины согласно частоте их встречания в тексте (чем чаще, чем короче назначается кодированная битовая строка), и совсем примитивные варианты типа run length encoding (замены многократных повторов одного символа счетчиком повторов), мы в институте проходили, но это не то, как типично делается сжатие в современной реальности.
Хотя вообще архиваторы на основе кодов Хаффмана существовали – так был устроен совсем древний юниксный архиватор pack. Но они уже давно не используются. Кстати, интересной особенностью сжатия по Хаффману является то, что если попытаться сжать его результат другим архиватором, он не очень-то и сожмется. Другие алгоритмы обычно предполагают, что данные состоят из целых байтов, а Хаффман производит битовые строки произвольной длины, которые не выровнены по границам байтов, и соответственно когда эти битовые строки оказываются сдвинуты внутри байтов на 1, 2, и так далее бит, то они выглядят разными байтами. И заодно другое отступление, почему программы сжатия по-русски традиционно называются “архиватор”. Так сложилось, что первой массово распространившейся такой программой стал pkarc на МС-ДОСе. “pk” - это инициалы автора (который позднее создал pkzip, который до сих пор является популярным форматом), а “arc” - сокращение от “archive”, архив. Соответственно, архиватор. Потом были и другие программы, называвшиеся аналогично. Скажем, одно время очень популярным был lha, где опять же “lh” - инициалы автора, а “a” означает “архив”.
Ключом ко всей современной архивации стал алгоритм Лемпеля и Зива (Lempel and Ziv), патентом на который владеет (точнее, владела, поскольку сейчас его срок уже истек) фирма Юнисис. Я начал с чтения этого патента. В самом патенте оно излагается несколько запутанно, но суть на самом деле там довольно простая. Алгоритм находит повторяющиеся строки байт и кодирует их числами фиксированной длины. То есть, например, если взять фиксированную длину в 16 бит, можно закодировать 65536 строк. Что делать, если мы исчерпали все возможное число строк, а текст не кончился, и мы в нем обнаружили новую строку, которую до того не видели, и нужно ей назначить новый код? Тут есть варианты. Один вариант – начиная с этого момента увеличить длину кода, и теперь кодировать каждую строку не двумя байтами, а тремя. Другой вариант – сбросить всю память о назначенных строках и начать их кодировать сначала. Это выглядит на первый взгляд странно, но часто большие файлы состоят из разных частей, и строки, которые часто встречаются в одной части, оказываются редкими в другой, так что избавление от знаний о предыдущих давних частях – не такая уж и большая потеря.
Вторая часть проблемы заключается в том, как находить эти повторяющиеся строки, и когда они найдены, то как записать “словарь” соответствия строк кодам в сжатый файл, не тратя на это чересчур много байт. Это главная проблема, которую решает алгоритм Лемпеля и Зива. Он начинает с того, что первые 256 значений в коде отводятся под просто байты – то есть, если надо передать просто байт, то он раширяется слева нулями до фиксированной длины кодового значения. Потом мы начинаем читать входной файл и пытаться найти в словаре самую длинную строку, которая будет соответствовать началу файла. Если мы ее нашли, то записываем на выход код этой строки, плюс один следующий байт (его можно не расширять, а так и записать одним байтом). И добавляем в словарь новую строку, состоящую из найденной строки плюс следующего байта, со следующим доступным кодом. Если же мы не нашли в словаре ничего соответствующего, то записываем один следующий байт из файла, расширенный до длины кода, плюс второй байт, который следует за первым. И потом точно так же добавляем эту новонайденную двухбайтовую строку в словарь. В-принципе, можно на это посмотреть и с другой стороны, и сказать, что мы сначала инициализируем словарь всеми возможными однобайтовыми строками, и тогда вторая ситуация сводится к первой – мы всегда сможем найти в словаре какую-то строку, которая просоответствует началу оставшегося файла, хотя бы из одного байта.
И особая прелесть этого алгоритма заключается в том, что он одновременно записывает сжатые данные и сжатый же словарь! Когда вторая часть алгоритма начинает разжимать данные, она добавляет в словарь строки, которые она разжимает, назначая им первый свободный код. И поскольку при сжатии и разжатии проходят одинаковые данные, первый свободный код оказывается в обоих случаях одинаковым, его даже не надо передавать в явном виде! Результат, конечно, получается не идеален, например длинные повторяющиеся последовательности из одного символа набираются в словарь долго, из кусочков, которые каждый раз удлиняются на один символ, и в словаре оказываются и строки, которые потом никогда не повторяются. Но в общем и целом результат лучше, чем у всего, что было придумано до того.
Следующим усовершенстованием, сделанным Велчем (Welch) владел тоже Юнисис, и вся эта комбинация из двух идей известна как LZW (Lempel-Ziv-Welch). Тут фокус в том, что классический алгоритм ЛЗ строит словарь в виде больших префиксных деревьев, хранение которых в виде собственно деревьев довольно неэффективно и требует много памяти, а в 1980-х годах, когда этот алгоритм был придуман, памяти в компьютерах было мало. Поэтому вместо деревьев, словарь хранится в памяти в виде хэш-таблицы. Первые 256 ячеек в ней все еще отведены под строки из одного байта, а вот добавление новых строк делается по-другому. Вместо того чтобы взять следующий свободный номер, новый номер получается комбинированием номера префиксной строки и нового байта через хэш-функцию. И тогда в ячейку таблицы по этому номеру записывается номер префиксной строки и новый байт. Это дает компкатное представление, по которому можно восстановить строки, а так же удобно отыскивать префиксы. Но, конечно, когда таблица оказывается прилично заполненной, то сильно увеличивается вероятность конфликтов, когда мы посчитали номер новой ячейки, а опаньки, там уже оказываются другие значение. Тогда это трактуется как переполнение словаря, вся хэш-таблица очищается, и заполнение начинается сначала.
Внимательный читатель на этом месте спросит: погодите, а где же тут ИБМ? Именно так, ИБМа тут нет. ИБМу принадлежит другой патент, который ни в команде compress ни в ГИФах не используется. Суть того патента в том, чтобы строить новые строки в словаре не как “строка + байт”, а как “строка + строка”. Это позволяет быстро выращивать длинные повторяющиеся последовательности – скажем, если у вас есть подряд сто букв “а”, то классический ЛЗ и ЛЗВ будут удлинять строки линейно - “а”, “аа”, “ааа”, “аааа”, и так далее, а ИБМовский вариант – по экспоненте - “а”, “аа”, “aaaa”, “aaaaaaaa”. Но оно нигде в Юниксе не используется.
Когда я стал это объяснять юристам, пришлось потратить довольно много сил на разъяснение разницы между строкой, пусть даже содержащей один байт, и одним байтом. Среди юристов есть большая разница между юристами младшими и старшими. Сначала я общался с младшей юристкой, как бы даже не паралегалом (это младший юрист без собственно университетской юридической степени, примерно как выпсуник техникума, и без самостоятельной юридической лицензии), а потом уже с настоящим юристом. Если младшая была ни в зуб ногой, то старший просек фишку быстро.
Следующим их вопросом было, а вот до того ИБМ судился с Информиксом и выиграл, и в доказательство ссылался вот на эту книжку. Почитал я еще и ту книжку. И обнаружил, что книжка описывает ИБМовский алгоритм, но называет его ЛЗВ. Но это совсем не то, что говорится в патентах, книжка эта оказалась ошибочной и ссылаться на нее как на доказательство напрочь нельзя.
Младшая юристка почитала описание дела Информикса, и нашла, что Информикс приводил в аппеляции этот аргумент, что книжка неправильная, но этот аргумент не был допущен. Но тут старший юрист ее поправил – надо, говорит, разобраться, почему он не было допущен, может они аппеляцию подали не вовремя. Ну, и поскольку до суда с моим экспертным присутствием дело не дошло, видимо, разобрались, и ИБМ сама отлезла. Меня вот эта ИБМовская наглость, со ссылкой на совсем левую и неправильную книжку как доказательство, несколько поразила. Ну, а люди из Информикса, видимо, не прочухали понять собственно текст патентов.
Надо сказать, что тут еще патенты были написаны довольно популярно. Вот потом в одной из боле епоздних компаний, когда подавали патент на мою идею, ее написали в таком виде, что не зная своего изначального изложения, я бы ни в жисть не догадался, что и зачем там имеется в виду. Похоже на то, что это стало самостоятельной целью юристов: с одной стороны защитить свою идею патентом, с другой стороны сделать этот патент максимально нечитаемым, чтобы было как можно сложнее по нему догадаться, что имеется в виду, и понять изобретение.
Занятие экспертной оценки патентов мне понравилось, но как-то вот больше заняться им не довелось. Зато этот опыт отразился на моем восприятии кампании Electronic Frontier Foundation (EFF) о патентном праве. ЭФФ – бесприбыльная организация, существующая на пожертвования, и согласно своему уставу занимающаяся защитой свобод в электронном мире. Примерно в 2010 году ЭФФ начало возмущаться ситуацией, когда мелкие изобретатели или сами требуют денег с компаний, использующих их патент, или продают свои права компаниям, специализирующимся на таких делах (ЭФФ называет их “патентными троллями”). Ну, в некоторых случаях, когда патентуемое тривиально, то можно повозмущаться тому, какие тривиальные патенты выдают, но не самой практикой. Ведь это – единственный способ, каким мелкие изобретатели могут получить доход со своих патентов. Суть патента – именно в том, чтобы он лиценизировался кому угодно за деньги. А настоящие патентные тролли – большие компании типа ИБМ или Гугла, которые сидят на своих патентах и не лицензируют их, зато используют их как средство внерыночного давления на конкурентов, как ИБМ давило на СКО. Надо, конечно, не забывать, что те же ИБМы и Гугли дают ЭФФу пожертвования, так что направление их возмущения не случайно. С этого началось мое разочарование ЭФФом. А потом они и вовсе проявили себя коммуняками, выступающими за Вселенское Зло, так что своих денег я им уже очень давно не жертвую, и другим не советую.
Я, честно говоря, не знаю, как людям удается получать тривиальные патенты. Я, было дело, уже в более недавние времена пытался получить патент самостоятельно, правда не в компьютерной области, а на косилку. У моего участка находится довольно высокая дорожная насыпь, и косить на ней траву ручной косилкой очень неудобно и утомительно, а трактором не заедешь. И вот я придумал этакую раму, чтоб привесить ручную косилку к трактору, трактором ездишь сбоку по плосокй части, а косилка ездит по косогору. Гораздо легче и быстрее. И решил попытаться ее запатентовать и продать какому-нибудь производителю. Этих мелких тракторов продается дикое количество, если одному проценту их владельцев надо как и мне косить косогор, и если получить по десятке-другой с каждой продажи, то это бы приличные деньги набрались. Заявку я написал, пришлось довольно долго переписываться с патентным офисом по поводу новизны и отличий от предыдущих патентов. Но в итоге мне все равно патент зарубили, поскольку формулировка сделана неправильно.
Американские патенты состоят из двух основных частей. В первой части свободным слогом описывается изобретение, приводятся картинки и прочее. Во второй части идет формулировка патента (patent claims). Это формулировка довольно краткая, и пишется в специфическом формате: каждая формула – одно предложение, но с массой сложноподчиненных частей. И когда дело доходит до суда, то играет роль только то, что написано в формулировке, первая часть если и участвует, то только в качестве контекста, если во второй части обнаруживаются какие-то спорные моменты. Поэтому важно ее сформулировать правильно. Ну, базовые вещи типа использовать слово “включает” (comprises), а не “состоит из” (consists of), я уловил – если писать “состоит из”, то добавление любого нового элемента к рецепту сделает его не попадающим под действие патента, а если “включает”, то вариант с дополнительным элементом может быть самостоятельно патентуемым, но все равно попадающим под изначальный патент. Но, видимо, тонкости я не прочухал, поскольку мне сказали, что мои формулы написаны неграмотно.
Можно было, конечно, пойти к профессиональному юристу, но это дорого, я поинтересовался – они брали по $400 в час, встало бы в несколько тысяч. Ну и поскольку продать свое изобретение мне к тому времени так и не удалось, то я решил, что бессмыссленно делать лишние траты. С продажей мелких изобретений большим производителям все непросто. До некоторых производителей вообще не достучаться. У них, видимо, политика подобная тому, что я когда-то читал в мемуарах Азимова: “когда люди присылают мне свои рукописи на оценку, я их не читаю, чтобы они потом не обвинили меня в том, что я использовал их идеи”. Так и тут, чтобы в присылаемых идеях не оказалось таких же идей, до каких они дошли самостоятельно. До некоторых производителей я достучался, но толку не вышло: как они сказали, это устройство слишком опасное, и им такое выпускать не позволят федеральные требования по защите прав потребителей. Ну да, немножко опасное, зато удобное. В моей личной шкале оценок рисков против удобств, тут удобства напрочь побеждают риски, и я с радостью пользуюсь своим устройством. А федеральные законы с примерно 1970-х годов направлены на защиту идиотов в ущерб разумным людям, спасибо проклятому Ральфу Нейдеру.
Единый Линукс
Jun. 11th, 2022 11:20 pmЯ тут взялся мемуары писать (кстати, некоторые из возможных читателей здесь в них присутствуют). Пока что более-менее закончены главы, заканчивающиеся институтом (причастным могу дать почитать), а остальное пока набирается кусками из разных времен. И вот из них:
В году примерно 2003-м, (хотя обсуждения может начали и в 2002-м) группа менее популярных производителей дистрибуций Линукса (включая SuSE - Сюзе, Caldera- Калдера, Connectiva – Коннектива, и еще кто-то мелкий, которого я забыл) решила объединиться и сделать общую дистрибуцию, которую назвали United Linux. Не то что бы совсем одинаковую, но в-основном, с небольшими вариациями. Ну, казалось бы красиво, да? На самом деле внутри там шел тот еще срач. По сути это был план Сюзе обмануть других производителей и украсть у них пользователей.
При обсуждении общей работы Сюзе выставило ультиматум, что они будут участвовать только если они будут делать всю разработку, а все остальные им коллективно за нее заплатят. Почему Калдера на это согласилась, я знаю — потому что ей хотелось сократить расходы и закрыть свой офис по Линуксу в Германии. Я как раз там был в командировке, перенимая опыт эскалаций, то есть починки срочных багов, приходящих от клиентов через поддержку, когда им объявили, что офис скоро закывается, но их всех оптом берет на работу Сюзе. В Германии закрыть офис и всех уволить не так просто — там все очень опрофсоюжено, и нужно предупреждать работников за как минимум 3 месяца, с кучей бюрократии. Если кто-то при прочтении этого возрадуется за Права Трудящихся, то знайте, что то же самое действует и в обратную сторону — чтобы поменять работу, надо предупредить старую об уходе за 3 месяца. Это, конечно, честно и логично, но в результате с передвижением рабочей силы в Германии полная задница. А тут очень удобно вышло, сотрудников перенимает другая компания, радикально уменьшенные расходы на бюрократию. А почему другие производители согласились — не знаю. Может тоже что-то где-то сокращали.
Сюзе тогда получило от ИБМ 50 миллионов в виде инвестиций на портирование их Линукса на ИБМовские мэйнфреймы, так что у них деньги на новых людей были. Кстати, оцените, какой изящный финт ушами сделала ИБМ: они не заплатили Сюзе за портирование 50 миллионов, вместо того они дали 50 миллионов в виде инвестиций. И получили не только Линукс для мэйнфреймов, но и за те же деньги контрольный пакет Сюзе в собственность. Двойная выгода.
Ну, а почему Калдера решила сократить линуксный офис — тоже понятно. Калдера как раз переживала тяжелые финансовые времена. Доходы от купленного ею СКО каждый квартал падали, и выходили убытки. Но и доходы от Линукса не росли. Как нам показывали на общих собраниях, доходы от Линукса были «меньше одного миллиона», не уточняя, насколько именно меньше. Но эта подробность мне позже попалась на глаза, наверное даже в годовом отчете для инвесторов — весь годовой доход от Линукса был 18 тысяч долларов. То есть, примерно говоря, около 20% зарплаты одного инженера, не считая всяких накладных расходов. Как мне говорил человек в немецком офисе, «пусть доходов пока еще мало, но зато Линукс показывает перспективу развития». Это на самом деле тоже неправда. Когда Калдера говорила клиентам купленного ей СКО, что сияющая перспектива — Линукс, она этим говорила, что продукт, который они покупают, находится одной ногой в могиле, а вместо того им надо так или иначе переходить на Линукс. Ну и раз переходить, то практически все из них выбирали другой вариант Линукса, более популярный, и предпочитали получать его бесплатно. Так что эта «перспектива развития» не только не служила развитием другого бизнеса, а наоборот, активно его убивала. Несколько смешная часть заключается в том, что Ред Хат (самая популярная на тот момент коммерческая дистрибуция), да и тот же Сюзе, хотели за поддержку своего Линукса заметно больше денег, чем СКО за коммерческую лицензию и поддержку своего Юникса. Но поскольку юридически лицензии на каждую копию не требовалось, то пользователи (как например потом виденный мной Комсток) хитрили: покупали, скажем, одну копию с поддержкой, и устанавливали сто. Если потом вылезали какие-то проблемы, то шли с ними как за поддержкой той одной купленной копии.
Возвращаясь к Единому Линуксу, в результате соглашений о разработке оно выглядело как дистрибуция, сделанная Сюзе, которая даже поставлялась в виде дистрибуции, «черного ящика», набора образов сидюков, которые потом каждый из других участников разбирал, добавлял свои дополнительные пакеты и брендинг, и собирал назад. Сюзе при этом пыталось еще и замылить исходники нескольких пакетов, производимых ими. Которые простым пользователям в исходниках не дают, но партнерам давать должны были.
У нас, то есть в Калдере, которая посередине этого проекта была переименована опять в СКО, Единым Линуксом занимались два с половиной человека: я делал распаковку-добавление-запаковку, Рон Рекорд делал дополнительные пакеты, и Шон, тестер, половину своего рабочего времени отводил на тестирование Линукса. В результате когда процесс был завершен и все участники его постили в мэйл-лист фотки своих офисных празднований, нам постить было нечего: я был в Нью-Джерси, Рон в Калифорнии, так что обошлись без празднований.
Я сделал весь процесс распаковки-добавления-запаковки в виде скриптов. Ну да, потратил пару недель, но зато потом он делался быстро и автоматически одной командой make. Как только мы выкачали финальный вариант сидюков от Сюзе, через 15 минут наша версия была готова.
Но на этом срач между партнерами не закончился. Следующим шагом был выпуск продукта в продажу. Все участники делали свое ценообразование независимо, и боялись, что другие участники их обманут. Поэтому они сформулировали лицензионный сбор в пользу ассоциации как процент от средней цены, посчитанной из цен всех участников. Чтоб никто не мог раздавать свою версию совсем по демпинговым ценам, подкапывая остальных участников. Когда цены опубликовали, выяснилось, что самую высокую цену из всех заломило Сюзе. Но специфически: параллельно Едином Линуксу они выставили на продажу Сюзе Сервер, который был на самом деле таким же (хе-хе, не случайно они хотели себе всю разработку), но не считался частью Единого Линукса, поэтому на него они поставили цену вдвое ниже. Но Энди Нэгл, который у нас в (теперь уже опять) СКО был менеджером этого проекта от маркетинга, тоже был не лыком шит: он выставил цену на СКО Линукс еще чуть ниже, чем на Сюзе Сервер. Ну да, пусть с небольшой прибылью, но перебить. Сюзе очень обижалось, их хитрость обломилась, но сделать ничего не могло - все было согласно договору. Но на этом все партнеры жестоко разосрались, все их опасения против друг друга подтвердились, второй версии Единого Линукса больше никогда не было.
В году примерно 2003-м, (хотя обсуждения может начали и в 2002-м) группа менее популярных производителей дистрибуций Линукса (включая SuSE - Сюзе, Caldera- Калдера, Connectiva – Коннектива, и еще кто-то мелкий, которого я забыл) решила объединиться и сделать общую дистрибуцию, которую назвали United Linux. Не то что бы совсем одинаковую, но в-основном, с небольшими вариациями. Ну, казалось бы красиво, да? На самом деле внутри там шел тот еще срач. По сути это был план Сюзе обмануть других производителей и украсть у них пользователей.
При обсуждении общей работы Сюзе выставило ультиматум, что они будут участвовать только если они будут делать всю разработку, а все остальные им коллективно за нее заплатят. Почему Калдера на это согласилась, я знаю — потому что ей хотелось сократить расходы и закрыть свой офис по Линуксу в Германии. Я как раз там был в командировке, перенимая опыт эскалаций, то есть починки срочных багов, приходящих от клиентов через поддержку, когда им объявили, что офис скоро закывается, но их всех оптом берет на работу Сюзе. В Германии закрыть офис и всех уволить не так просто — там все очень опрофсоюжено, и нужно предупреждать работников за как минимум 3 месяца, с кучей бюрократии. Если кто-то при прочтении этого возрадуется за Права Трудящихся, то знайте, что то же самое действует и в обратную сторону — чтобы поменять работу, надо предупредить старую об уходе за 3 месяца. Это, конечно, честно и логично, но в результате с передвижением рабочей силы в Германии полная задница. А тут очень удобно вышло, сотрудников перенимает другая компания, радикально уменьшенные расходы на бюрократию. А почему другие производители согласились — не знаю. Может тоже что-то где-то сокращали.
Сюзе тогда получило от ИБМ 50 миллионов в виде инвестиций на портирование их Линукса на ИБМовские мэйнфреймы, так что у них деньги на новых людей были. Кстати, оцените, какой изящный финт ушами сделала ИБМ: они не заплатили Сюзе за портирование 50 миллионов, вместо того они дали 50 миллионов в виде инвестиций. И получили не только Линукс для мэйнфреймов, но и за те же деньги контрольный пакет Сюзе в собственность. Двойная выгода.
Ну, а почему Калдера решила сократить линуксный офис — тоже понятно. Калдера как раз переживала тяжелые финансовые времена. Доходы от купленного ею СКО каждый квартал падали, и выходили убытки. Но и доходы от Линукса не росли. Как нам показывали на общих собраниях, доходы от Линукса были «меньше одного миллиона», не уточняя, насколько именно меньше. Но эта подробность мне позже попалась на глаза, наверное даже в годовом отчете для инвесторов — весь годовой доход от Линукса был 18 тысяч долларов. То есть, примерно говоря, около 20% зарплаты одного инженера, не считая всяких накладных расходов. Как мне говорил человек в немецком офисе, «пусть доходов пока еще мало, но зато Линукс показывает перспективу развития». Это на самом деле тоже неправда. Когда Калдера говорила клиентам купленного ей СКО, что сияющая перспектива — Линукс, она этим говорила, что продукт, который они покупают, находится одной ногой в могиле, а вместо того им надо так или иначе переходить на Линукс. Ну и раз переходить, то практически все из них выбирали другой вариант Линукса, более популярный, и предпочитали получать его бесплатно. Так что эта «перспектива развития» не только не служила развитием другого бизнеса, а наоборот, активно его убивала. Несколько смешная часть заключается в том, что Ред Хат (самая популярная на тот момент коммерческая дистрибуция), да и тот же Сюзе, хотели за поддержку своего Линукса заметно больше денег, чем СКО за коммерческую лицензию и поддержку своего Юникса. Но поскольку юридически лицензии на каждую копию не требовалось, то пользователи (как например потом виденный мной Комсток) хитрили: покупали, скажем, одну копию с поддержкой, и устанавливали сто. Если потом вылезали какие-то проблемы, то шли с ними как за поддержкой той одной купленной копии.
Возвращаясь к Единому Линуксу, в результате соглашений о разработке оно выглядело как дистрибуция, сделанная Сюзе, которая даже поставлялась в виде дистрибуции, «черного ящика», набора образов сидюков, которые потом каждый из других участников разбирал, добавлял свои дополнительные пакеты и брендинг, и собирал назад. Сюзе при этом пыталось еще и замылить исходники нескольких пакетов, производимых ими. Которые простым пользователям в исходниках не дают, но партнерам давать должны были.
У нас, то есть в Калдере, которая посередине этого проекта была переименована опять в СКО, Единым Линуксом занимались два с половиной человека: я делал распаковку-добавление-запаковку, Рон Рекорд делал дополнительные пакеты, и Шон, тестер, половину своего рабочего времени отводил на тестирование Линукса. В результате когда процесс был завершен и все участники его постили в мэйл-лист фотки своих офисных празднований, нам постить было нечего: я был в Нью-Джерси, Рон в Калифорнии, так что обошлись без празднований.
Я сделал весь процесс распаковки-добавления-запаковки в виде скриптов. Ну да, потратил пару недель, но зато потом он делался быстро и автоматически одной командой make. Как только мы выкачали финальный вариант сидюков от Сюзе, через 15 минут наша версия была готова.
Но на этом срач между партнерами не закончился. Следующим шагом был выпуск продукта в продажу. Все участники делали свое ценообразование независимо, и боялись, что другие участники их обманут. Поэтому они сформулировали лицензионный сбор в пользу ассоциации как процент от средней цены, посчитанной из цен всех участников. Чтоб никто не мог раздавать свою версию совсем по демпинговым ценам, подкапывая остальных участников. Когда цены опубликовали, выяснилось, что самую высокую цену из всех заломило Сюзе. Но специфически: параллельно Едином Линуксу они выставили на продажу Сюзе Сервер, который был на самом деле таким же (хе-хе, не случайно они хотели себе всю разработку), но не считался частью Единого Линукса, поэтому на него они поставили цену вдвое ниже. Но Энди Нэгл, который у нас в (теперь уже опять) СКО был менеджером этого проекта от маркетинга, тоже был не лыком шит: он выставил цену на СКО Линукс еще чуть ниже, чем на Сюзе Сервер. Ну да, пусть с небольшой прибылью, но перебить. Сюзе очень обижалось, их хитрость обломилась, но сделать ничего не могло - все было согласно договору. Но на этом все партнеры жестоко разосрались, все их опасения против друг друга подтвердились, второй версии Единого Линукса больше никогда не было.
легенда про Стэнфорда
Feb. 18th, 2015 01:10 pmЛегенда про Стэнфорда и Гарвард оказалась легендой. Я специально спросил у тетеньки при посещении его дома-музея. Если кто еще не слышал легенду, она вот такая:
Сын Стэнфорда учился в Гарварде (вариант - Принстоне), на каникулах поехал путешествовать по европам, заболел и умер. Папаша решил в его память построить в университете какое-нибудь здание, для чего пошел с визитом к ректору университета. Но секретарша описала его ректору как "какой-то облезлый дядечка" и ректор его не принял, Стэнфорд просидел несколько часов в приемной, потом плюнул, и пошел построил свой университет.
Причем неправдой в легенде оказалось буквально все, кроме того, что Стэнфорд действительно посешал Гарвард, чтобы проконсультироваться о том, как правильно основать университет.
Сын Стэнфорда в университете не учился. Он закончил школу досрочно, а в университет его еще не брали, поэтому семейство отправило его на год в кругосветное путешествие (и в Турции он заразился тифом, а потом в Италии умер). Но собирался он идти в Беркли, а отнюдь не в Гарвард или Принстон.
Ну, и чтоб папаша Стэнфорд выглядел облезло и скромно сидел в приемной - это вряд ли. Он к тому моменту уже был очень богатым человеком, сенатором и бывшим губернатором Калифорнии. Если посмотреть на его дом в Сакраменто, то видно, что он не стеснялся гордиться своим богатством.
Сын Стэнфорда учился в Гарварде (вариант - Принстоне), на каникулах поехал путешествовать по европам, заболел и умер. Папаша решил в его память построить в университете какое-нибудь здание, для чего пошел с визитом к ректору университета. Но секретарша описала его ректору как "какой-то облезлый дядечка" и ректор его не принял, Стэнфорд просидел несколько часов в приемной, потом плюнул, и пошел построил свой университет.
Причем неправдой в легенде оказалось буквально все, кроме того, что Стэнфорд действительно посешал Гарвард, чтобы проконсультироваться о том, как правильно основать университет.
Сын Стэнфорда в университете не учился. Он закончил школу досрочно, а в университет его еще не брали, поэтому семейство отправило его на год в кругосветное путешествие (и в Турции он заразился тифом, а потом в Италии умер). Но собирался он идти в Беркли, а отнюдь не в Гарвард или Принстон.
Ну, и чтоб папаша Стэнфорд выглядел облезло и скромно сидел в приемной - это вряд ли. Он к тому моменту уже был очень богатым человеком, сенатором и бывшим губернатором Калифорнии. Если посмотреть на его дом в Сакраменто, то видно, что он не стеснялся гордиться своим богатством.
самовозгорающиеся БМД
Aug. 26th, 2014 01:59 pmВ комментах нам пишут: "сразу после парада одна бмд вроде как загорелась в москве".
А у меня на эту тему есть история. В начале 90-х был у нас на ЧМЗ один мужик (потом он отправился в Израиль). Охренительно изобретательный, среди прочего разработал и наладил мелкосерийный выпуск мини-модемов, которые пробивали токовой петлей на дохрена километров на охренительной скорости (за счет умной компенсации искажений в канале), гораздо лучше покупных импортных. На ЧМЗ он попал после того, как уволился из армии, куда его загребли после института, да так потом и остался в офицерах в ЗГСВ в ГДР (ну, удивительно, да) и дослужился до капитана. Про армию он рассказывал, как у них в части были проблемы с тем, что БМП регулярно самовозгорались. И он чего-то там намодернизировал, и эту проблему решил, чем начальство было страшно довольно.
Но, видимо, до всей остальной армии это решение не дошло.
А у меня на эту тему есть история. В начале 90-х был у нас на ЧМЗ один мужик (потом он отправился в Израиль). Охренительно изобретательный, среди прочего разработал и наладил мелкосерийный выпуск мини-модемов, которые пробивали токовой петлей на дохрена километров на охренительной скорости (за счет умной компенсации искажений в канале), гораздо лучше покупных импортных. На ЧМЗ он попал после того, как уволился из армии, куда его загребли после института, да так потом и остался в офицерах в ЗГСВ в ГДР (ну, удивительно, да) и дослужился до капитана. Про армию он рассказывал, как у них в части были проблемы с тем, что БМП регулярно самовозгорались. И он чего-то там намодернизировал, и эту проблему решил, чем начальство было страшно довольно.
Но, видимо, до всей остальной армии это решение не дошло.