суббота, 11 января 2014 г.

[life] Запоем прочел книгу "Как я убил Плутон и почему это было неизбежно"

На сайте elementy.ru наткнулся на главу из книги Майка Брауна "Как я убил Плутон и почему это было неизбежно". Глава о том, как открытие одного нового объекта в Солнечной системе чуть было не было украдено у автора книги группой недобросовестных астрономов из Испании. И как это выяснилось благодаря логам доступа к web-серверу обсерватории, в которой делались снимки этого объекта. Очень увлекательная глава, хорошо и живо написана (ветераны Интернет-овских холиваров найдут в ней много знакомого).

После прочтения опубликованной на elementy.ru главы захотелось прочитать всю книгу. Она легко нашлась на lib.rus.ec. А вот оторваться от чтения оказалось очень сложно, проглотил книгу буквально за пару дней, читая ее запоем. Очень интересно.

Книгу написал астроном, который посвятил изрядную часть своей жизни поиску новых планет, расположенных за орбитой Плутона. В результате долгих и напряженных поисков было найдено несколько объектов, разного размера и удаленности от Солнца. Один из них оказался сравним по размеру с Плутоном и это привело к тому, что представления человечества о составе Солнечной системы в очередной раз были переписаны. Итогом работы Майка Брауна стало то, что Плутон перестал считаться девятой планетой Солнечной системы и планет вновь, как и до 1930-го года, стало всего восемь: Меркурий, Венера, Земля, Марс, Юпитер, Сатурн, Уран и Нептун. Простому человеку это вряд ли о чем-то говорит. Но если посмотреть на это дело с точки зрения истории развития астрономии, то окажется, что событие это абсолютно нерядовое и случаев, когда состав Солнечной системы менялся, было всего лишь несколько, а именно: открытие Урана и Нептуна, затем открытие Плутона и, вот сейчас, лишение Плутона права считаться планетой Солнечной системы. Так что книга описывает то, как обычный человек благодаря своей увлеченности, напряженному труду и капельке удачи в буквальном смысле вошел в историю.

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

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

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

В общем же, книга мне очень понравилась. Смело рекомендую. Хотя, лучше сначала прочитать главу на elementy.ru и, если она вас зацепит, переходить уже к полному тексту книги.

четверг, 9 января 2014 г.

[life.work] Потрясающе точная и актуальная формулировка

Найдена в статье Александра Кулешова "Профессионалы не требуются" (уточнение курсивом в скобках мое, чтобы уточнить контекст, в котором употреблена эта фраза):

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

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

[prog.flame.humour] Маленький совет популяризаторам Haskell-я

Навеяно комментарием к предыдущей заметке :)

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

paths s = case dropWhile (== '/') s of
            "" -> []
            s' -> w : words s''
    where (w, s'') = break (== '/') s'

Просто поверьте, что тем, кому приходилось поддерживать на плаву промышленный код с 10+ летней историей, только в кошмарном сне приснится перспектива разбираться с тем, чем же отличается s' от s'' ;)

среда, 8 января 2014 г.

[prog.flame] Хватит тратить миллиарды долларов на код на неправильных языках...

G+ подкинул ссылочку на пост, от которого у меня бы зашевелились волосы на голове, будь они еще там: Stop wasting billions of dollars using the wrong software languages. Его смысл очень прост: Хватит тратить миллиарды долларов на код, написанный на плохих языках программирования. Начните тратить их на код, написанный на расово чистом... упс, не так богоугодном... опять не то, единственно правильном... не, просто на Хаскелле.

Блин, желание продать то, что делаешь, конечно, понятно (а делают и продают FPComplete). Но "Мифический человекомесяц" появился в 1975-м. А "Человеческий фактор" в 1987-м. Так что, мать вашу за ногу, к 2013-му году можно было придумать что-нибудь поинтереснее, чем тупые рекламные заявления вида "Наши серебрянные пули самые серебрянные пули в мире! И мы можем подтвердить это десятками телеграмм от наших счастливых покупателей по всему миру..."

[life.thoughts] Почему мне не хочется платить за электронный контент (софт в частности)

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

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

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

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

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

А с электронной информацией ситуация иная.

Вот например, покупаю я себе какую-нибудь софтину. Трачу вполне себе реальные деньги, которые мог бы потратить на что-то еще. Но получаю ли я что-нибудь материальное взамен? Нет.

Более того, я получаю что-то настолько эффемерное, что я даже не смогу проконтролировать время жизни этой вещи. Например, оказывается программа рассчитанной только на работу под Windows 7 и не работает под Windows 8 и все. Пока у меня есть техника, на которой крутится Win7, я смогу ей пользоваться. Но как только она выйдет из строя, все. Своей программы я лишусь.

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

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

вторник, 7 января 2014 г.

[life.photo] Впечатления от объектива Voigtlander Ultron 40mm/2 SL

В середине декабря разжился новым мануальным объективом: Voightlander Ultron 40mm/2 SL. Зверь в наших краях редкий, диковенный. Но интересный. И впечатления о себе оставляет весьма хорошее.

Для интересующихся под катом несколько слов о том, почему я выбрал этот объектив и что я в итоге получил. С иллюстрациями.

понедельник, 6 января 2014 г.

[life.photo] Околофотографическое. Упадническое.

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

воскресенье, 5 января 2014 г.

[prog] RSDN Magazine: Ключевые возможности Rust

Большая и интересная статья о языке Rust из RSDN Magazine опубликована в Интернете: Ключевые возможности Rust. Если кто-то, как и я сам, только слышал о том, что Mozilla уже давно работает над этим языком, но пристально на него никогда не смотрел, то рекомендую. Интересно. И написано хорошо, толково и по делу.

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

На RSDN-е в обсуждении статьи Александр Ставонин дал ссылку на мое мнение о ситуации с D и его собеседники попробовали развернуть мои аргументы против D в сторону Rust-а. Вроде того, что Rust-у в свете активного развития C++ не светит так же, как и D. С этим я не соглашусь. D изначально позиционировался как замена C++. Rust же, как и Go (а так же другие не взлетевшие вариации на тему безопасного низкоуровневого языка, вроде Cyclone или даже BitC), скорее пытаются встрять в узкую нишу на стыке между C, C++ и Java/C#. Т.е. когда производительность еще важна, но и возможность заплатить за безопасную работу с памятью есть, а богатые возможности C++ не особо нужны.

Для меня открытый вопрос, есть ли эта ниша вообще. А если она есть, то хорошо ли ее заполнять совсем новым языком. Но очевидно, что Rust и Go совершенно точно не претендуют на глобальную замену C++. Значит, их будущее будет определяться другими факторами, нежели будущее D.

Что ждет Rust -- это совсем отдельный вопрос. Не хочу флеймить на эту тему, тем более, что Rust-ом я не интересуюсь и мало что про него знаю. Общее впечатление такое, что это интересный эксперимент. Именно эксперимент. Посему, трансформация его во что-то практически значимое, в принципе, возможна, но маловероятна. Имхо, используемые в реальной работе инструменты изначально создаются таковыми. Здесь ситуация несколько иная. Так что лично я сомневаюсь, что Rust достигнет стадии пригодного для повседневного промышленного использования языка. Но зато вполне может стать основой для такого языка, своего рода полигоном для проверки и отбраковки нежизнеспособных идей. И тут как раз хорошо то, что эксперименты над Rust ведутся с прицелом на реальную разработку обычного ПО (а не в контексте развития computer science, как это происходит с Coq, Agda или Epigram).

PS. Автору же статьи, Александру Ставонину, большой респект. Написание таких статей дело не простое. Здесь же все здорово получилось.