Книга Леонарда Сасскинда «Битва при черной дыре»

black-hole Как же здорово иногда почитать качественные книги, в которых на популярном языке рассказывается о сложных научных теориях. Конечно, после таких книг нельзя говорить, что ты разбираешься в этих теориях, но получить хотя бы общее представление о них полезно. Одной из таких замечательных книг является «Битва при черной дыре» физика-теоретика Леонарда Сасскинда. Второе название книги «Мое сражение со Стивеном Хокингом за мир, безопасный для квантовой механики».

Стержень книги — это научный спор автора и его сторонников со Стивеном Хогингом (и его сторонников) по вопросу о том, пропадает ли информация, попавшая в черную дыру бесследно, или все-таки каким-то образом ее можно оттуда извлечь (теоретически). Хокинг считал, что информация пропадает, но это значит, что в этом случае должен переставать работать один из основных принципов квантовой механики, что обеспокоило Сасскинда и его друга, лауреата Нобелевской премии Герарда ’т Хоофта (интересно, что означает такой апостроф в начале фамилии?) Сасскинд пытался доказать, что информацию можно извлечь (опять же, теоретически), собрав частицы, которые образуются при испарения черной дыры. Самое интересное, что это самое испарение черных дыр предсказал и обосновал все тот же Хокинг в далеком 1974 году, и сейчас это излучение носит его имя.

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

Читать далее ‘Книга Леонарда Сасскинда «Битва при черной дыре»’ »

Про книгу Сьюзан Уэйншенк «100 главных принципов презентации»

100 Прочитал на днях книгу Сьюзан Уэйншенк «100 главных принципов презентации». Если сразу не обратить внимание на второй заголовок, написанный оранжевым цветом на розовом фоне (фиг его заметишь), то можно подумать, что это книга про то, как создавать слайды. По крайней мере у меня слово презентация ассоциируется со слайдами в PowerPoint. Однако, второй заголовок звучит: «Что должен знать оратор о людях». В итоге книга оказалась не о том, как создавать дизайн слайдов, а о том, как должен вести себя докладчик на презентации, с учетом того, что у него все-таки есть слайды.

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

Что касается подачи материала в книге, то она представляет собой сборник коротких советов, каждый из которых описан максимум на несколько страниц. Честно говоря, я недолюбливаю такую подачу материала, потому что чаще всего эти советы кажутся разрозненными и кончаются внезапно. При чтении «100 главных принципов презентации» такого ощущения не было (может быть только в начале немного), во многом благодаря построению книги, когда один совет плавно переходит в другой, но из-за такого мелкого разбиения материала иногда бывает чувство недосказанности.

Читать далее ‘Про книгу Сьюзан Уэйншенк «100 главных принципов презентации»’ »

Книга Р. Майера «Android 2. Программирование приложений»

android_bookНесмотря на то, что я пока еще не обзавелся каким-либо девайсом на Android (хотя уже близок к этому), решил посмотреть, как выглядит программирование под него. Если есть такая возможность, то осваивать новую для себя тему я предпочитаю по какой-нибудь книге, а не по мануалам. Начать изучение решил с книги Майера «Android 2. Программирование приложений». Эта книга вышла еще в 2011 году, и к тому моменту, когда я до нее добрался, успела несколько устареть (на момент написания этого поста вышел уже Android 4.2). Надеюсь, что основы программирования под Android с того времени там не сильно поменялись. Эта книга привлекла своим размером (чуть больше 670 страниц, не люблю тоненькие буклетики из серии «что-то там за 24 часа») и дизайном. Хотя еще полгода назад в книжных магазинах особых альтернатив ей не видел.

Вся книга ориентирована на Android 2.0 (API Level 5). По статистике гугла можно узнать, что на данный момент (к началу декабря 2012 года) около 50% Android-устройств используют Android 2.3.x (API Level 9 и 10), версия именно 2.0 в статистику даже не попала. И чтобы больше не возвращаться к версиям Android скажу, что у Майера уже вышла книга про программирование под Android 4 на английском языке (Meier R. Professional Android 4. Application Development), со временем может быть ее переведут и на русский язык.

Читать далее ‘Книга Р. Майера «Android 2. Программирование приложений»’ »

М. Адлер. «Как читать книги. Руководство по чтению великих произведений»

Ему нравилось не то, о чем читал он, но больше самое чтение,
или, лучше сказать, процесс самого чтения,
что вот-де из букв вечно выходит какое-нибудь слово,
которое иной раз чорт знает что и значит.
Н. В. Гоголь. «Мертвые души»

А вы знаете, что не умеете читать? Собственно, я тоже не умею. По крайней мере так считает автор книги «Как читать книги. Руководство по чтению великих произведений» Мортимер Адлер. Автор еще до Второй Мировой войны начал работать в Чикагском университете, где он преподавал курс General Honors («Общий курс для отличников»), заключающийся в разборе «великих книг, от греческой классики, древнеримских и средневековых литературных шедевров до лучших авторов современности — Уильяма Джеймса, Эйнштейна и Фрейда«. При этом Адлер жаловался, что студенты толком не понимают книг, которые читают, в лучшем случае они могут зазубрить слова автора по какому-то вопросу, но не могут толком объяснить, что он имел в виду.

Тогда в 1930 году он написал первое издание этой книги, в которой попытался создать методику чтения. Через 30 с лишним лет, в 1966 году вышло второе издание этой книги, практически без изменений, если не считать переписанное предисловие, а в 1972 году вышло третье, более переработанное издание, которое перевели на русский язык только в 2011 году.

Читать далее ‘М. Адлер. «Как читать книги. Руководство по чтению великих произведений»’ »

Книга Говарда Рейнгольда «Умная толпа: новая социальная революция»

Посоветовали мне когда-то в комментариях почитать книжку Говарда Рейнгольда «Умная толпа: новая социальная революция». Книжка оказалась очень интересная. Если вы интересуетесь тем, что происходит в IT, и в какую сторону эта область может развиваться, почитать ее стоит. Несмотря на то, что книга написана в далеком 2002 году, а для IT десяток лет — это целая вечность, нет ощущения, что она устарела. Более того, некоторые технологии, о которых написано в книге, до сих пор не стали массовыми (и еще не факт, что станут).

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

Читать далее ‘Книга Говарда Рейнгольда «Умная толпа: новая социальная революция»’ »

Книга «Коды, шифры, сигналы и тайная передача информации»

Недавно мне попалась еще одна книга по истории криптографии, которая называется «Коды, шифры, сигналы и тайная передача информации», автор — Фред Риксон. В этой книге он коротко пробежался по всем темам, которые так или иначе связаны с передачей информации в неявном виде.

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

Здесь же рассказывается и про различные шифровальные машины, которые когда-либо были созданы. Правда, описание таких устройств довольно скудное, даже о знаменитой «Энигме» сказано всего несколько страниц, но зато перечислено довольно большое количество устройств для шифрования, начиная с XIX века и до середины XX века.

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

Читать далее ‘Книга «Коды, шифры, сигналы и тайная передача информации»’ »

Книга Дж. Граппоне и Гр. Казн «Поисковая оптимизация сайтов»

Книга "Поисковая оптимизация сайтов"

Попалась мне недавно книга Дженнифер Граппоне и Градивы Казн «Поисковая оптимизация сайтов». При ее покупке я опасался, что там будет одна вода с банальными советами вроде «набирайте ссылки», «не забывайте ключевые слова» и т.п. По крайней мере такое отношение у меня сложилось к SEO-шным блогам в рунете, которые отличаются друг от друга только темой WordPress. Но, в надежде, что авторы не смогут налить воды на 500 с лишним страниц (таков объем книги), все-таки заказал ее.

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

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

Читать далее ‘Книга Дж. Граппоне и Гр. Казн «Поисковая оптимизация сайтов»’ »

Книга Айн Рэнд «Атлант расправил плечи»

Книга Айн Рэнд "Атлант расправил плечи"

Про книгу «Атлант расправил плечи» (Atlas Shrugged), которую написала Алиса Зиновьевна Розенбаум под псевдонимом Айн Рэнд, я впервые узнал в аспирантуре несколько лет назад на курсе философии. Я уже даже не помню, по какому поводу препод упомянула эту книгу, но название запомнилось. После этого также вскользь попадались отсылки к «Атланту» и, наконец, удалось ее прочитать.

Читать далее ‘Книга Айн Рэнд «Атлант расправил плечи»’ »

Книга Майкла Физерса «Эффективная работа с унаследованным кодом»

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

Цитата из книги С. Макконнелла «Совершенный код»

Физерс "Эффективная работа с унаследованным кодом". Обложка

Везет тем программистам, которые начинают вести проекты с нуля, тогда можно развернуться по-полной и писать код так, как считаешь нужным — cначала тщательно спроектировать структуру, нарисовать классы в виде UML-диаграмм и неспешно приступить к кодированию с использованием принципа TDD (Test-driven development), когда сначала пишутся тесты, а потом уже начинают писать основной код. Но чаще программистов нанимают для работы над уже существующей программой, которую до тебя писал криворукий программер (ведь код, написанный не тобой по определению считается плохим) без тестов, с непонятными (тебе) хаками, ужасным наименованием переменных, да и вообще читать этот код невозможно, и лучше его переписать с нуля (см. первую фразу). Такой код называют унаследованный, хотя его автор вполне может быть жив-здоров.

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

Если вам знакома такая ситуация, то книга Физерса «Эффективная работа с унаследованным кодом» для вас будет полезна. Она посвящена тому, что делать, если надо работать с кодом, который написан небрежно и не покрыт полностью тестами. Основная ситуация, описываемая Физерсом — надо добавить новую возможность или изменить поведенение кода, который не то что страшно трогать, но даже иногда непонятно, как он вообще работает.

Читать далее ‘Книга Майкла Физерса «Эффективная работа с унаследованным кодом»’ »

Книга Chris F.A. Johnson «Pro Bash Programming»

Ерунда этот ваш английский — там половина слов из C++.
Программерская мудрость.

pro-bash-programmingПоближе познакомиться с bash я собирался уже давно, все-таки использовать Линукс и не уметь пользоваться одним из основных его инструментов — странно (хотя это говорит о том, что Линукс стал совсем дружелюбным к пользователю). Сначала я начал читать перевод Advanced Bash-Scripting Guide, но все-таки хотелось найти что-то в более удобном формате для чтения по дороге на работу. Русскоязычных книг по bash мне так и не попались (не считая книг, где ему посвящены только отдельные главы), но зато наткнулся в электронном виде на книгу Chris F.A. Johnson «Pro Bash Programming. Scripting the GNU/Linux Shell». Чтением этой книги решил убить двух зайцев — и про (pro 🙂 ) bash получше узнать, и английский потренировать, благо в Pocketbook 902, на котором я читал эту книгу, есть словари, куда можно при случае заглянуть.

Сама книга оказалась довольно неплохой, правда, местами этой книге не хватает въедливости, как у той же Advanced Bash-Scripting Guide, про некоторые конструкции и команды хотелось бы почитать поподробнее, не заглядывая в документацию, но для начала Pro Bash Programming вполне сойдет. Ее структура — от простого к сложному, в приведенных примерах используются только те конструкции, которые уже были описаны раньше (использование неописанных конструкций раздражало в Advanced Bash-Scripting Guide, из-за чего он читался как справочник), а последние главы посвящены практическому применению того, что было изучено в первой половине книги. Приятно, что автор пишет, какая конструкция в какой версии bash появилась, а какие команды не входят в стандарт POSIX, чтобы можно было оценить требования к среде, где будет выполняться тот или иной скрипт.

Давайте теперь коротко пробежимся по содержанию книги.

Читать далее ‘Книга Chris F.A. Johnson «Pro Bash Programming»’ »