bash.im ithappens.me zadolba.li

Unix

13453

(Анти)реклама

Много-много лет назад мой руководитель на защите диплома цинично сказал, что оценку мне поставят не за то, что я сделал, а за то, как я об этом буду рассказывать. И заставил вызубрить своё выступление, сверяясь с часами («Не более десяти минут!»).

Его высказывание пришлось вспомнить не так давно. Пришли к нам апологеты Самого Свободного (не путать с бесплатным!) Софта. Агитировать. Ясное дело, говорить им надо было только с Самым Главным (другим, вероятно, недоступно понимание тех великих истин, которые несут эти «вдохновенные проповедники»). Не знаю как, но Самого Главного они получили, причём аж на два часа (а это, с учётом его загруженности, действительно нелёгкое дело).

Для начала «проповедники» опоздали на полчаса (фигня, кто такой Самый Главный — пусть получше подготовится к предстоящим открытиям и озарениям, полчаса медитации хватит). Потом ноутбук с естественно открытой операционной системой никак не захотел подключаться к проектору (наверное, проприетарный заговор, не иначе). Потом подготовленная в LibreOffice презентация не захотела запускаться на ноутбуке со свободной операционной системой под тем же LibreOffice (а может, они её — о ужас! — на «чём-нибудь другом» делали?). Но проповедники были готовы — у них был PDF-файл, на котором они и стали всё «проповедовать». Ладно, как говорится, бывает.

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

Не могу не вспомнить старого доброго О’Генри: «Песок — неважная замена овсу». Опять же «проповедники» оказались народом увлекающимся. Вот уже и время прошло, да сверх того пятнадцать, двадцать, полчаса — всё вещают. Наконец Самый Главный вежливо попросил их остановиться. Собрались и ушли. Самый Главный оглядел собрание в переговорной — заместителей, начальников управлений, в общем, «весь цвет управленческой структуры» плюс два-три «городских сумасшедших по Linux» и, пожав плечами, со вздохом сказал: «Ну что поделать — линуксоиды».

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

12849

Малина, жена — одна сатана

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

Тогда ещё невеста и жених, а впоследствии жена и муж Дебра и Ян решили вместе с новой ячейкой общества основать и новый дистрибутив Linux. В его названии (каком — догадайтесь) они увековечили свои имена.

Эта история полна романтики и достойна подражания. Но люди, портировавшие этот дистрибутив на Raspberry Pi, оказались с ней незнакомы. Они невольно стали теми Ржевскими, которые пришли и всё опошлили. Название, образованное от супружеской пары — между прочим, единого организма, — перекроили по живому. Ампутировали жену, пришили малину.

12433

Несовершеннолетними не балуемся

Если вы думаете, что знаете, что такое суровый энтерпрайз, то эта история для вас.

Крупная и старая американская компания. Настолько крупная и старая, что IT-инфраструктура в ней появилась задолго до Windows и базируется до сих пор на всяких разных Unix. К концу 90-х эта крупная компания переходит на очередного поставщика Unix. В 2002-м поставщик прекращает своё существование, и руководство компании принимает решение о том, что надо бы найти нового.

2003 год. В результате длительных консультаций выбран поставщик и дистрибутив Unix, выпущенный в 2000 году.

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

2014 год. Руководство одного учебного центра получает запрос на обучение 60 сотрудников крупной и старой американской компании выпущенному в 2000 году варианту Unix, который в будущем году уже перестанет поддерживаться. На вопрос преподавателя, как они собираются с этим жить, представители крупной и старой американской компании отвечают, что выбор более нового дистрибутива — это ещё пять лет согласований, да и бюджет уже потрачен. Поэтому куда проще проплатить расширенную поддержку, и специально ради них новый владелец фирмы, выпустившей в 2000 году дистрибутив Unix, продлит срок поддержки до 2020 года, а они пока выберут новый дистрибутив, на который будут мигрировать.

11946

Соцпакет и пиво за вредность

Вместо эпиграфа:

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

Заболел. Кашель наездами. А тут ещё надо собеседовать кандидата. Работа в моей группе нудная и скучная, поэтому больше двух лет никто не держится. Ну, делать нечего. Попросил коллегу пойти со мной — собеседовать клиента, если кашель мне самому не позволит.

Вошли в переговорку. Сели. Знакомимся. У меня новый приступ кашля. И тут коллега мой с ленинским прищуром говорит кандидату:

— А это %name%. Он занимается разработкой под Юникс.

Кашель не прекращается.

— Чтобы пресечь лишние вопросы, скажу сразу: он всё равно от этой работы через неделю сдохнет, поэтому нам срочно нужна замена.

Хорошо поговорили…

11924

Вікна незалежності

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

Текстовый редактор я просто один к одному передрал с популярного тогда MultiEdit, который меня полностью устраивал, а вот при написании файловой оболочки я, конечно, взял за основу логику Norton Commander, но кардинально её переработал. У меня количество окон с файлами не ограничивалось двумя, и эти окна можно можно было располагать как угодно и делать произвольной формы. Какой-нибудь человек из будущего опознал бы в этой оболочке Windows-стиль.

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

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

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

Потом я изобрёл визуальное программирование. Тогда все элементы интерфейса прописывались прямо в коде с абсолютным позиционированием. Написал — скомпилировал — запустил и смотришь: «Ага, это поле на три символа влево сдвинуть, эту подпись на пять вправо». Неудобно, в общем. Написал программку, где можно было на экране расставить подписи, поля и кнопки, это всё сохранялось в бинарный файл, который при выполнении программы на лету подгружался и использовался для отображения формы. Если такой таблицы или таких полей не было, то они создавались при сохранении формы. Вышел аналог Access.

Тогда за написание «Windows» я получил в качестве поощрения от начальства пятьдесят баксов. Спустя много лет я подумал, что если бы я это делал не в украинской провинции, а где-нибудь в американском университете, то, может, заработал бы на нём не пятьдесят долларов, а пятьдесят миллиардов. Хотя, с другой стороны, будь я в Америке, то получил бы, наверное, больше пятидесяти долларов, но миллиарды заработал бы всё равно не я, а какой-нибудь ушлый маркетолог с мамой в совете директоров.

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

Нам, технарям, сложно принять эту мысль, так как мы привыкли гордиться своими знаниями и умениями, но я много раз в жизни наблюдал, что ярлык «хороший специалист» — это часто тупик для карьерного и социального роста. Ведь такого человека выдвигать не только на высокие должности, а даже на начальника отдела нерационально. Теряешь специалиста, приобретаешь офисного служащего. Офисного служащего найти намного проще, чем хорошего специалиста. Это ответ всем тем возмущённым IT-специалистам, у которых начальник отдела ничего не понимает в компьютерах. Это не противоречие, это закономерность.

11917

Юникс в кратком изложении

Вы говорите, солома с проволокой? Всё очень просто.

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

А Виндоус изначально происходит от персональных однопользовательских компьютеров: вначале — как графическая оболочка для запуска программ, со всеми недостатками DOS внутри, потом были попытки сделать собственную многопользовательскую систему, потом эти две ветви были объединены в Win2000. И на протяжении всего этого времени основное внимание было сконцентрировано не на техническом совершенствовании, а на увеличении объёмов продаж, захвате рынка, борьбе с конкурентами.

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

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

А ведь когда-то был интересный проект — Xenix, который при должном развитии мог бы стать основой для Виндоус. Тогда бы не было этих обвинений в наличии «соломы», а сейчас впереди не маячил бы тупик. Просто когда-то его посчитали избыточно сложным, а может быть, просто кому-то что-то не понравилось или взыграли чьи-то амбиции…

11513

Мультибут за пять копеек

Года три назад у моего знакомого был нетбук: три гига флеш-памяти и только один USB-слот. Естественно, всё забито до невозможности. Знакомый часто работал и с Unix-системами, и с Windows. Естественно, места под ОС не хватало. Выход был найден простой: купить несколько 4-гигабайтных флешек, на каждую установить по LiveUSB-версии системы. Пока нетбук включался, знакомый быстро вставлял нужную флешку. Если было нужно что-то поменять, нетбук перезагружался (благо время ребута было мало), со скоростью болида «Формулы-1» флешка менялась на другую, и работа продолжалась.

11325

Сборка лени из пакетов

До сих пор можно встретить мнение, что Linux (или Unix) — это нечто очень сложное, якобы требуется «собирать» систему, что-то там компилировать и настраивать. Я ничего такого не замечал. Давно уже использую GNU/Linux по работе, а последнее время установил и на ноутбуке как основную систему. Какой-нибудь Debian или Ubuntu ставится за 15 минут. Настраивать там ничего не надо (ну, кроме как пароль вайфая ввести), работает всё из коробки, меня устраивает. И людей, которым я ставил GNU/Linux по их просьбе, тоже всё устраивает, пока что никто не жаловался.

На самом деле, я понимаю, откуда растут ноги у мифа о сложности ОС на основе Linux. Есть люди, которых интересуют сам процесс. По этой причине лёгких путей они не ищут. И, понятное дело, зачастую их привлекает именно Linux, так как он позволяет растянуть процесс, поиграть с настройками… Вот случай из практики.

Началось с того, что друзья позвали меня пить пиво по случаю переезда в новый офис их маленькой софтостроительной компании. Пиво — это хорошо, но я узнал, что в офис уже завезли новые компьютеры, пока без ОС, а я как раз хотел посмотреть новый тогда Solaris 10 на реальном железе. Я взял с собой диск и как-то между пивом установил Solaris. Очень просто: нажимай себе кнопку Next, дальше оно само.

Увидев Solaris, все очень удивились. Я предложил оставить, к примеру, на сервере: всё-таки настоящий Unix. Есть софт в комплекте, можно установить из пакетов. Но нет, не хотят, боятся, что не разберутся. Ну ладно… Оказывается, есть у них специалист по линуксам, он везде установит и настроит. Конечно, это логично — доверить установку человеку, который впоследствии сможет и обслуживать.

Человек выбрал Gentoo. Говорит, очень удобно: всё равно что-то собирать нужно будет. Ну ладно… Через пару дней спрашиваю, как дела. Оказывается, плохо: «специалист» всё ещё ставит Gentoo на сервер, работа стоит. На том же железе, на котором «соляра» поставилась за 20 минут, старая версия Gentoo никак не пошла из-за несовместимости ядра, а новая компилится уже сутки, что ли. «Специалист» проблемы в этом не видит и предлагает на рабочие станции также установить Gentoo. На своей сборку он уже начал…

Людям уже надоело, и они сами установили на свои компьютеры кто что хотел — Федору, Убунту — и начали работать.

Но это не конец истории. С сервером были проблемы. Чего-то не хватало, что-то криво собралось, не хотело взаимодействовать, требовало настройки. «Специалист по линуксам» оказался сам не в состоянии всё сделать как надо — чего-то не знал, что-то не успевал просто.

Когда всё было очень плохо, звали меня на помощь. Я с Gentoo вообще не знаком, но с трудом разобраться удалось — так, чтобы хоть как-то работало. А потом «специалист по линуксам» ушёл, а сервер с Gentoo ещё стоит, его боятся трогать: чуть что не так сделаешь — и часы увлекательной сборки пакетов обеспечены.

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

11252

Карманный мейнфрейм

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

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

Возможно, и вы сейчас читаете эту историю, держа в руке такой «мейнфрейм в кармане». Задумайтесь, насколько же неисповедимы Господни пути, раз этого никто не угадал!

10379

Системные толерасты

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

Самый вопиющий случай был, когда мне попалось сложное приложение, работающее на десяти серверах. На пяти был Gentoo, на остальных — FreeBSD, RHEL, Debian и… Windows. В качестве СУБД использовались одновременно Berkley, MySQL, PostgreSQL и MS SQL. На каждом сервере была своя файловая система «для лучшей производительности». Про список редких библиотек числом за сотню уже даже как-то и упоминать неловко. Весь этот зоопарк адски глючил и сыпался при обновлениях или просто от смены фазы Луны. Что интересно, админ, который с ним работал, сидел на OS X и тоже «досконально знал все системы».

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

Дерьмо хорошо на поле, где растят хлеб, но не на столе конечного пользователя.

10355

Яблочко от яблоньки

Угу, линукс — дитя студентов. А ещё есть такая OS X. Спортсменка, нашистка, красавица. Дитя хороших родителей, разумеется. Ну, с какой стороны хороших… Папа — бывший советский чиновник, в девяностые в открытую занимался рэкетом, рейдерством, наркоторговлей и организацией организованной преступности, однако с наступлением нулевых резко перевоплотился из бандита в состоятельного бизнесмена и уважаемого человека, женился на модели и сделал дитя. С детства балованное, занимавшееся танцами, музыкой и рисованием. Стройная, прекрасная девушка. Вот только пользы от неё никакой, а денег просит, как не знаю что: две тысячи долларов в месяц на макияж, полторы на фитнес, три на рестораны и шопинг, парочку на прочие расходы… А увидев у потенциального объекта отношений машину хуже «лексуса» или БМВ (а то и вообще её отсутствие), презрительно корчит нос и отворачивается.

А шесть лет назад, в спокойные-стабильные путинские времена, наша OS X родила дитё. Естественно, не от какой-то жалкой осишки, нет. Её любимый сынок iOS — это созданный по самым современным нанотехнологиям её уменьшенный клон. Красивый, миниатюрный, шустро бегает. Только вот читать не умеет. И писать. И считать. И даже говорит так себе. Лучше всего у него получается слово «хочу». И «купи». Как смачно он их выкрикивает по десять раз на дню, это надо слышать. То мишку говорящего ему хочется, то котика спящего, то мультик слегка интерактивный, то машинку на радиоуправлении. Всё от 99 центов! А мамочка и рада деньгами разбрасываться: их её, хе-хе, пользователи приносят немеряное количество, вот она и заваливает кровиночку игрулечками, приговаривая, что раз она платит, значит, получает ребёночек только лучшее и качественное. А то, что в машинку уже надо монетки кидать, чтобы метр проехала, в упор не замечает — привыкла уже.

Но страшный секрет хранит внешне дружная и благополучная яблочная семья. Папа Darwin на самом деле — старший сын тёти Unix, родной брат Linux. Стыдятся они этого родства, но ничего поделать не могут. Не достигли бы они без никсовых генов даже того шаткого трона, что сейчас под ними покачивается. Так и живут, скрывая под внешней красотой и благополучие страх, ненависть и желание отомстить всему миру.

10079

Посмотреть глазами и поправить руками

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

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

Прошло время. Сейчас мало кого можно удивить терабайтным диском или парой гигов оперативной памяти. Модная тенденция — использовать XML. Для того чтобы передать значение пары переменных, создадим XML-файл и DTD к нему, поставим с десяток тегов и задействуем парочку библиотек для корректного формирования и корректного разбора. А что — теперь же все понимают, что такое переносимость и как избавиться от проблем бинарных форматов!

А в UNIX (теперь и в Linux) по-прежнему для обмена данными используют текстовый формат. Который можно посмотреть глазами, исправить любым текстовым редактором, сохранить в архив и поднять из архива десятилетней давности.

8284

/всякаяфигня

Прочитал историю про постоянство временного. Коллега, вы явно не в одиночестве! Бывают и более запущенные случаи мирового масштаба.

В Unix-подобных ОС каталог /etc создали для файлов, которые не знали, куда приткнуть. Несколько раз хотели переименовать, но название («и так далее» в переводе) приросло. Спустя какое-то время, когда все уже окончательно привыкли, придумали расшифровку-бэкроним: «Editable Text Configuration».

6998

Русский путь: украсть бесплатное

Дали мне падавана. Только за первые пару месяцев он столько штук отколол!

— Я себе дома Убунту как вторую операционку установил, а у неё проблемы с интернетом. Подсоединись по Тимвьюеру, посмотри, плиз!
— А как я подсоединюсь, если у неё нет инета?
— Там же ещё «семёрка» стоит! К ней подключимся, перезагрузимся и зайдём в Убунту.

* * *

— Я хочу Юникс с Ораклом установить. У тебя есть?

Скачиваю ему «фряху», отдаю образ.

— На, устанавливай. Сможешь — подумаем об Оракле.
— А что такое FreeBSD? Я же Юникс просил…

Часовая лекция о FSF, «никсах» и т. д.

— Понял?
— Ага.

Проходит десять минут.

— А у тебя на неё кряк есть?
— Нет. В Гугле поищи.

Через полчаса становиться жалко.

— Как у тебя с английским?
— Отлично!
— Как ты думаешь, существует ли кряк на FreeBSD?
— Непонял?
— На FreeBSD.
— Так где найти?

* * *

Пишет запрос в мелкомягкую БД.

— А какие мне нужны записи? Где поле %field% NULL или где не NULL?
— И те, и другие бери: %field% здесь ни при чём.

Решил посмотреть, что он там сотворил. Точно: «WHERE %field% IS NULL OR IS NOT NULL». Невинные глазки: «Ну, ты же сам сказал, что и те, и другие надо…»

5951

Знать противника в лицо

— Папа, зачем мне этот забытый Юникс? — спросила мена пару лет назад дочка.

— Твоему дедушке сорок лет назад на Дамане хватало АК, чтобы разговаривать с китайцами, а тебе хватит знаний винды и английского из учебника?

Ребятёнок оказался не только понятливым, но и талантливым. Теперь дочь бегло говорит на английском и французском, пишет студентам иняза контрольные на традиционном китайском. А под популярные у китайцев линуксовые сборки у нас есть наш ответ Мао Цзэдунам, правда, без экстремизма: в день рождения Дэн Сяопина каждый запуск сопровождается мелодией «Да здравствует революция» из штатного спикера.