jenyay прочитал
Апрель 2010 г.
Июнь 2009 г.
Май 2009 г.
Апрель 2009 г.
Март 2009 г.
Февраль 2009 г.
7 марта 2009 г.
Дочитал книгу Марка Лутца "Изучаем Python", выход которой ждал еще с ноября прошлого года. Книга, как и ожидал, оказалась просто отличная, особенно понравилась манера изложения автора. Похоже именно так и надо писать технические книги.
А манера эта состоит в том, что сначала Лутц начинает рассказывать о какой-то теме в общих чертах, чтобы было понятно даже новичку (книга все-таки считается учебником по Python, хоть и предполагает средний уровень подготовки читателя), но постепенно доходит до очень низкоуровневых вещей, которые будут интересны и тем, кто язык Python уже знает, а элементы языка разбирает буквально по косточкам, чтобы не осталось ни одного недопонятого момента.
Например, в главе, посвященной общей работе интерпретатора, начинается все с того, как вообще можно запускать скрипты (двойной клик, командная строка и т.п.), затем рассказывается о том как работает виртуальная машина Python, какие файлы и когда она создает, а затем рассказывается о разновидностях Python - CPython, IronPython, JPython, после чего коротко говорится о способах ускорения скриптов с помощью сторонних библиотек (Psyco, Shedskin C++) и кратко упоминает библиотеки для создания полноценных exe-шников (py2exe, PyInstaller и Freeze). В конце каждой главы находится раздел, где автор описывает возможные ошибки при использовании элементов языка, рассмотренные в текущей главе. Некоторые моменты Лутц повторяет по несколько раз для тупых в течение одной главы, но это не раздражает, а новичкам, думаю, это должно сильно облегчить понимание.
Благодаря такому подходу книгу будет интересно читать и тем, кто с Python уже знаком. Я, например, в книге выяснил для себя вопрос, который меня давно волновал: является ли класс list связанным списком. Оказалось, что нет, внутри языка это обычный массив, в некотором роде аналог std::vector из C++. За одно я узнал о существовании некоторых конструкций вроде "a < X < b". Некоторые конструкции, которыми пользовался до этого, стали казаться более логичными, чем до прочтения книги. Да и вообще появилось ощущение, что все элементы языка выстроились в законченную мозаику.
Понравилось, что Лутц постоянно сравнивает элементы языка Python с похожими элементами других языков (в основном C). Кроме того автор постоянно делает сноски на возможности Python 2.6 и 3.0, которые еще только планировались, когда писалась книга, и в то же время он пишет в какой версии языка появилась та или иная фича.
Из недостатков могу назвать только цену книги. Я ее покупал на Савелке за 1100 рублей, а, как потом выяснилось, в Интернет-магазинах ее продают за 800 рублей. Я эту книгу покупал нам на кафедру, но теперь подумываю купить ее и себе домой. А может быть просто дождусь, когда ее выложат в инет :)
В общем, книга на твердую пятерку и на нее можно ставить штамп "маст рид".
Январь 2009 г.
Декабрь 2008 г.
24 декабря 2008 г.
Не смотря на то, что я до сих пор пишу под .NET Framework 2.0 и перехода на более новые версии платформы пока не предвидится, давно поглядываю в сторону библиотеки Windows Presentation Foundation (WPF), которая до релиза называлась Avalon. Для ознакомления с новой библиотекой от MS я и приобрел когда-то книжку Криса Андерсона “Основы Windows Presentation Foundation“.
Книга является хорошим пособием для тех, кто только собрался изучать WPF иили хотбы пощупать что она из себя представляет. Те, кто уже имел дело с этой библиотекой, скорее всего смогут найти более продвинутую книгу. Эту книгу можно рассматривать как большой обзор возможностей библиотеки WPF, в котором нет подробных описаний отдельных классов и внутреннего устройства библиотеки, но зато подробно рассматриваются примеры использования, после которых становится понятно в какую сторону копать MSDN. Вся книга по сути состоит из одних примеров, причем одну и ту же программу автор часто пишет несколькими способами, постепенно изменяя исходный пример.
Автор книги является одним из архитекторов библиотеки WPF и поэтому часто пишет почему та или иная возможность сделана именно так, как сделана, причем он не стесняется говорить и о проблемах, связанных с WPF, в том числе и про проблемы с производительностью.
Кратко перечислю основные темы, которые рассмотрены в книге:
* Основы WPF и какие цели приследовали разработчики, ее создающие.
* Использование классов WPF из C# и XAML.
* Основные принципы использования элементов управления.
* Способы размещения элементов управления в окне и менеджеры размещения.
* Двумерная и трехмерная графика.
* Анимация и мультимедия.
* Привязка к данным и шаблоны данных
* Обработка событий, триггеры
* Стили.
И некоторые другие темы.
Все примеры, написанные на языке XAML и разобранные в книге, пишутся вручную, без использования каких-то визуальных редакторов, хотя Андерсон иногда и пишет, что некоторые участки кода в жизни никто сам писать не будет, а возложит это на стороннюю программу. С одной стороны это большой плюс, потому что книга не превращается в учебник по нажиманию кнопок в дизайнере, но в то же время в конце книги хотелось бы почитать про визуальные редакторы, какие они бывают и что из себя представляют.
А еще “Основы WPF” является отличным примером того, как не надо переводить книги. Такое ощущение, что издатели поставили перед собой цель поставить рекорд по концентрации ляпов в одной книжке, причем подключили к этому процессу испаганивания весь свой персонал, от переводчика до оформителя и редактора. Мало того, что в переводе появились ошибки, которых не было в оригинале (я специально скачал эту книгу в электронном виде, чтобы посмотреть кто же это так накосячил), пропали несколько картинок и участков кода, кое-где пропало оформление исходников (автор в каждом участке кода выделяет наиболее важные места полужирным шрифтом). Кое-где под картинками остались крики редактора “Нет текста!!!”, прямо с тремя восклицательными знаками. Я уже не говорю о, мягко выражаясь, спицифическом переводе некоторых, казалось бы уже устоявшихся, фраз (например, “Caret” переводится как “каре”), а когда я увидел фразу “класс A наследует классу B”, то подумал, что я перестал понимать русский, хоть и программерский, язык. Когда заглянул в оригинал и увидел на этом месте вполне безобидное выражение “A derive from B”, то понял, что с русским языком проблемы у переводчика.
Но то, что они сделали с исходниками, не лезет ни в какие ворота. Вы себе можете представить, что эти изверги вместо обычных двойных кавычек (” “) везде понаставили елочки (« »), мало того, эти елочки где хотят открываются, а где хотят закрываются. За такое надо отрывать руки на медленном огне.
Книга читается легко, если привыкнуть к некоторым фразам из перевода, язык написания ее довольно легкий, иногда разбавленный шутками. В целом, книга сама по себе достойна пятерки, а вот перевод на 3-. Не двойка, потому что даже с таким переводом понять суть книги можно. Но, если у вас есть возможность читать книгу в оригинале, то ну его на фиг такой перевод - читайте на английском языке.
Ноябрь 2008 г.
4 ноября 2008 г.
Дочитал книгу А.С. Дятлова “Чернобыль. Как это было”. Ее автор, заместитель главного инженера чернобыльской станции, был одним из шести человек, которых суд признал виновными в аварии на четвертом энергоблоке 26 апреля 1986 года. По официальной версии вся вина за аварию была возложена на обслуживающий персонал, но цель этой книги в том, чтобы показать, что персонал был обвинен несправедливо, а авария произошла из-за конструкции самой чернобыльской станции.
Как пишет сам автор, он лицо заинтересованное, поэтому в книге он писал только то, что удалось лично проверить и постоянно ссылается на документы. Дятлов очень скрупулезно описывает действия персонала до и после аварии, проанализирует каждое действие, как свое, так и своих коллег.
Затем подробно описывает обвинения, которые были выдвинуты против персонала и, приводя цитаты из нормативных документов, показывает что персонал действовал верно и не нарушил никакие требования к безопасности.
А.С. Дятлов подробно рассказывает об устройстве реакторов типа РБМК-1000 и причинах катасрофы с точки зрения физики, но здесь про его правоту мне судить сложно, я все-таки не физик-ядерщик.
Автор анализирует отчеты различных инстанций, написанные после аварии, в том числе и отчеты, направленные в МАГАТЭ. По этим отчетам он делает вывод, что комиссия по расследованию аварии довольно быстра разобралась в настоящих причинах аварии, нашла 32 несоответствия станции нормативным документам, но в отчете эти несоответствия были названы “особенностями” и “недостатками” станции, а виноватым сделала персонал станции. Однако практически сразу на всех оставшихся станциях большинство недостатков было устранено. Позже против конструкторов тоже было возбуждено уголовное дело, но оно было прекращено “в связи с отсутствием судебной перспективы”, так как, даже если бы и удалось бы доказать виновность научного руководителя А.П. Александрова и главного конструктора Н.А. Доллежаля, то ни бы все-равно попали бы под амнистию “в связи с 70-летием Советской власти”.
Основной причиной аварии Дятлов называет то, что стержни, которые должны глушить реактор, при определенных условиях в начале своего движения в зону реактора несколько секунд не глушили, а разгоняли реактор. Причем персонал об этом не знаел, так как для анализа величины вносимой реактивности, от которой зависит глушится или разгоняется реактор, нужно несколько минут. Небольшая цитата:
По объективному свидетельству системы контроля мы нажали кнопку A3 [АЗ - аварийная защита] в отсутствие каких-либо аварийных сигналов. Вправе ли были мы ожидать нормального заглушения реактора? Безусловно. Защита обязана это исполнять даже и при наличии аварийных сигналов - на то она и A3. Приведение в действие защиты реактора оператором никак не может быть квалифицировано нарушением ядерной безопасности.…
Более уместным и правильным сравнение с машиной будет такое: <Ведете вы машину, жмете на тормоз. Вместо торможения машина разгоняется. Авария! Шофер виноват? А может все-таки конструктор, гражданин академик?
В вину персонала станции по официальной версии ставится эксперимент, который они проводили, однако авария произошла уже после завершения эксперимента, когда с помощью кнопки автоматической защиты собрались глушить реактор, а он вместо этого взорвался. До этого никаких аварийных ситуаций не было, был большой провал мощности, но все оставалось в пределах принятых норм.
Затем автор кратко проанализировал несколько книг и статей, написанных после чернобыльской катастрофы, со ссылками на документы показал где авторы что-то недоговаривают, а где откровенно врут. В статьях, написанных в первые пять лет после аварии, во всем обвиняется персонал, и лишь с начала 90-ых годов стали появляться статьи, где, если и не оправдывают персонал, то по крайней мере не считают их главными виновниками.
После прочтения книги поискал в интернете отрицательные отзывы об этой книге, про ошибки автора, но нигде подобного не нашел, однако в комментариям к статьям, обвиняющих персонал, в качестве опровержения обычно ссылаются на Дятлова. В основном попадаются споры на форумах. Вряд ли автор на сто процентов прав, но доводы, которые он приводит в книге, вполне разумны.
Октябрь 2008 г.
8 октября 2008 г.
На обложке книги так и написано, что ее писали двое - Акунин и Чхартишвили (интересно, авторские отчисления они тоже двое получали ), причем в книге их части четко разделены, поэтому сначала надо сказать о структуре книги. Отдельные главы посвящены какому-то одному старому кладбищу. А каждая глава разделена на две части. Вначале идет описание кладбища, рассказывается его история, кто там похоронен и ощущения Чхартишвили от посещения этого кладбища. Затем принимается за работу Акунин и пишет небольшой рассказ, действие которого происходит на этом кладбище или как-то с ним связано. Части глав, написанные Чхартишвили мне понравились, читать их действительно интересно, а вот рассказы Акунина как-то не впечатлили.
8 октября 2008 г.
Удивительно, как автор смог описать так подробно всю жизнь Максвелла, начиная с рождения и до дня смерти. Судя по благодарностям автора тем, кто ему помогал, давал доступ к рукописям в библиотеках, к рисункам того времени, работу он проделал огромную. Особенный упор в книге сделан, естественно, на научную работу Максвелла, описаны его первые научные статьи, как он еще в школе придумал способ для рисования правильных овалов. В книге часто цитируется переписка Максвелла с друзьями и родственниками. Чтобы понять в какой семье жил Максвелл, кратко описывается биография его отца. Подробно рассказывается про научные интересы Максвелла, его приоритеты в разные годы, но особенно автор выделяет его работы по электродинамике и оптике.
8 октября 2008 г.
Очень понравилась. В книге автор рассказывает про историю развития электричества, магнетизма, а в последствии и электромагнетизма.
Большая часть книги состоит из биографий известных физиков.
8 октября 2008 г.
Все описываемые алгоритмы очень хорошо объясняются. Сначала алгоритм описывается буквально на пальцах, затем строится блок-схема последовательности действий, после чего приводится пример одной или нескольких итераций алгоритма на конкретных данных. После этого идет пример законченной программы, использующей описываемый алгоритм. Причем кроме подробных комментариев в тексте программы, работа каждой функции объясняется словами. Программы написаны на языке C (не C++) и изначально рассчитаны на Unix, поэтому для компиляции под Windows придется использовать CygWin, или подправлять исходники, чтобы программа компилировалась без CygWin. После описания программы в конце каждой главы кратко описываются пути улучшения алгоритма и ссылки по данной теме на литературу и сайты в интернете.
8 октября 2008 г.
Хорошая книга про нейронные сети и алгоритмам, которые хоть как-то с ними связаны - генетические алгоритмы, алгоритмы кластеризации и т.п.


























