Тег «жизнь»

Гугл-убийца

Гугл меня сегодня чуть не убил, натурально. У меня на главной странице виджет с погодой. Смотрю утром: +4º. Ну, думаю, опять синоптики облажались со своими морозами. Оделся соответственно погоде, по-осеннему. Приезжаю на работу — а Гугл показывает уже -18º. Тут-то я и понял, почему мне по дороге казалось, что как-то несколько прохладно для четырех градусов…

К сожалению, скриншот сделать не смог.

Уши в самолете и под водой

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

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

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

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

  • зевнуть (если умеете делать это произвольно);
  • выдвинуть вперед нижнюю челюсть и сглотнуть, можно при этом еще покачать головой из стороны в сторону;
  • зажать пальцами нос и попытаться через него выдохнуть (только аккуратно!).

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

Примерно то же, но гораздо быстрее, происходит, когда мы ныряем под воду. Наверняка вы чувствовали это неприятное давление на уши, если ныряли с маской и ластами. Дайверам обычно приходится «продуваться» каждые 1-2 метра глубины, иначе можно остаться без ушей. Но даже не все дайверы знают, что не обязательно иметь баллон за спиной, чтобы уравнивать давление. Когда в следующий раз будете нырять в Черном море за крабами, попробуйте один из перечисленных выше способов, и вы удивитесь, насколько комфортнее будет под водой даже на глубине 2-3 м.

УжасноПлохоНормальноХорошоОтлично (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Почему я против open source

Я не зря написал «open source» с маленькой буквы, потому что сегодня в фокусе моего внимания не одноименное сообщество, а сама тенденция роста количества софта, который раздают бесплатно и/или с открытыми исходниками. Скажу даже больше: я против не только открытого софта, а вообще бесплатного.

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

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

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

Но жизнь-то — штука изменчивая, и вот, подвинув бородатых хакеров, за терминалы уселись банковские служащие и бухгалтеры. Потом все нарастающая стандартизация аппаратуры, платформенная независимость языков программирования, и вдруг — хоп! Программисты остались в меньшинстве, железо стало дешевым, а одну и ту же программу можно, хвала Юниксам, если не запустить, то уж собрать почти на любой платформе. Собственно, исчезли основные предпосылки существования опенсорса, имевшие место в 60-е и 70-е.

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

  1. Интерес. Людям просто нравится творить. Но так как большинство программистов — не бизнесмены, и не способны продать свои творения, они их просто раздают. Впрочем, есть и идейные, которые раздают из принципиальных соображений.
  2. Известность. Open source очень демократичен. Напиши хорошую программу, которой будут пользоваться миллионы, — и интерес к тебе со стороны работодателей сразу повысится. Собственные разработки с открытыми исходниками служат отличной заменой традиционным резюме: просмотрев исходники программы и историю ее разработки, можно гораздо больше узнать о разработчике, чем в ходе получасового собеседования.
  3. Работодатель за это платит.

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

  1. Код с открытыми исходниками не является самодостаточной программой, а представляет собой некую библиотеку или фреймворк, являющиеся побочным продуктом при разработке чего-то большего. Исходники открываются, как правило, из рекламных соображений. Прибыль косвенная.
  2. Компания активно использует свой же продукт с открытыми исходниками в своих разработках. Очевидно, что основная прибыль получается другими путями, а открытие исходников — просто жест доброй воли или, опять-таки, реклама. Прибыль снова косвенная.
  3. Мифическая «техподдержка», о которой будет твердить не слишком подкованный апологет open source, объясняя, откуда у опенсорсников деньги берутся. Этот путь получения дохода имеет смысл разве что для крупных компаний вроде Rad Hat или Microsoft, которые могут поставлять настолько большие и сложные продукты, что для них может потребоваться обучение специалистов и поддержка (платные, разумеется).
  4. Open source, вообще говоря, ничуть не противоречит коммерческому софту. Поэтому можно путем хитрого лицензирования требовать с клиентов денег, если продукт с открытыми исходниками используется в коммерческих разработках (вспомним Qt как хрестоматийный пример).
  5. Научные гранты.
  6. Всякие маргинальные способы вроде пожертвований или встраивания рекламы в пользовательский интерфейс (фуу).

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

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

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

  1. Я написал научную статью и выложил ее в открытый доступ. Это ускоряет развитие науки, так как другие ученые могут опираться на мои результаты.
  2. Я написал библиотеку нечеткой логики и открыл ее исходники. Это ускоряет прогресс программирования, так как остальные разработчики могут сэкономить свое время, если им понадобятся такие функции. Если им нужно внести какие-то изменения, они берут и вносят. Здесь важно, чтобы лицензия открытого кода позволяла любое его использование, в том числе коммерческое.
  3. Я написал редактор UML-диаграмм и раздаю его бесплатно. Это помогает другим разработчикам в их работе. Конечно, это убивает конкуренцию среди платных редакторов UML, но в целом служит прогрессу программирования.
  4. У меня бессонница, поэтому я год ночами писал программу управления личными финансами, а так как мне лень заниматься продажами, то я раздаю эту программу бесплатно. Если программа удобная, то платные уже покупать никто не будет, даже если они немножко лучше. Конкуренцию теперь может составить только более функциональная бесплатная программа.

Итак, моя позиция по поводу всего вышеобозначенного:

  • информация должна быть открытой;
  • средства разработки и научные инструменты должны быть бесплатны и, возможно, открыты;
  • остальные программы не должны быть бесплатными (но могут быть открытыми);
  • тем не менее, если уже есть хороший открытый/бесплатный софт, то глупо было бы им не пользоваться.
УжасноПлохоНормальноХорошоОтлично (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Книжная халява

Сегодня по дороге на работу купил «Порождающее программирование» и «Распределенные системы». За 40 рублей каждую. А неделей раньше там же приобрел «C++ Boost Graph Library» по той же цене.

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

Где купил — не скажу :)

Хаус ин да Хаус

В локалке начал появляться пиратски озвученный 6-й сезон Хауса, пришлось бросить все и смотреть. Что я могу сказать. Гениальность Дэвида Шора ничуть не притупилась, даже скорее наоборот. Чем дальше в лес, тем интереснее сценарии. А вот Лори ощутимо постарел. Жаль, что это похоже будет последний сезон Хауса с его участием.

К чему я это все?.. А! Надо, наконец, научиться пользоваться торрентами. А то как-то недобно даже, человек 21-го века, а торрентами не пользуется. Стыд просто.

UPD. Научился.

Почему не стоит учиться на программиста

Программисты

Давным-давно жили-были Программисты. Были они умные, знали дофига чего такого, что обычным людям ни в жисть не понять, и было их мало. Оттого спросом они пользовались необычайным, зарабатывали кучу денег и вообще считались уважаемыми людьми. Еще были Пользователи, которые тоже умели программировать. Даже больше того, в то время собственно пользование компьютером заключалось в написании для него программ. Каждому Пользователю приходилось учить Фортран или Бейсик, иначе компьютер превращался просто в бесполезный предмет интерьера. Конечно, до уровня Программистов Пользователям было как пешком до Луны, потому что для Пользователя программирование было лишь инструментом, подспорьем в проведении необходимых вычислений и анализа, тогда как Программист занимался написанием программ профессионально. Короче говоря, было такое счастливое время, и все были довольны. Но Программисты все же были круче.

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

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

Софт

Но это только одна сторона. Если посмотреть на рынок ПО, то несложно заметить, что ничего нового на нем фактически не появляется. Были эпохальные продукты вроде Windows, Office, 1C Что-То-Там и тому подобных монстров, которые закрыли собой гигантские ниши. Все! Нужно просто признать: эпоха разработки массового софта заканчивается. Все, что нужно среднестатистическому пользователю, уже написано. Зачем же тогда Microsoft год за годом печет новые Офисы и Винды? Что, старые чем-то плохи? Нет! Просто им хочется кушать. Поэтому они развешивают тонны маркетинговой лапши на нежные юзерские уши, лишь бы только кто-нибудь купил их новый Офис. Который от N предыдущих версий отличается только по-другому расположенными кнопками и приведенной в соответствие с веяниями моды цветовой гаммой. Без сомнения, за это стоит отдавать триста баксов!

Конечно, я преувеличиваю. В мире есть еще что разрабатывать.

  • Веб-приложения. Сейчас «программист» уже в головах обывателей является синонимом «веб-программиста». Только вот беда — вердикт «уже написано» все чаще звучит и здесь. Народ уже не знает, что бы такое написать, поэтому пишет всякую ерунду, благо процесс ее создания упростился невероятно. Операционная система в браузере? Не смешите.
  • Корпоративный софт. Опять-таки, загибающаяся область. Один универсальный инструмент (1С, SAP) и толпа низкоквалифицированных адептов (1С-«программист», хо-хо) легко заменяет большинство корпоративок. Остаются лишь только всякие банки, авиаперевозчики и т.п., которые поступили мудро, придумав настолько сложные бизнес-процессы, что хрен напишешь обобщенный инструмент. А если поднапрячься и все же написать, получится VisualStudio.
  • Специфический софт. Драйверы, управляющий софт, firmware. Пожалуй, здесь пока еще все нормально. Появляются новые железки и комплексы — должен появиться и софт для них, никуда не денешься.

Итого

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

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

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

Так что готовьтесь. Пройдет еще несколько лет (думаю, от 5 до 15), и запас инерции кончится. Собственно, зарплаты программистов уже падают (и в рублях, и в долларах), как и количество вакансий. А скоро мы получим:

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

Приходите через пять лет, проверим.

УжасноПлохоНормальноХорошоОтлично (4 голосов, средний: 4.00 из 5)
Loading ... Loading ...