суббота, 7 февраля 2009 г.

Тайна сия велика есть: это красиво?

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

четверг, 5 февраля 2009 г.

Две статьи о parallel programming, которые следует прочитать

В журнале Dr.Dobb опубликовали две статьи (точнее одну большую статью из двух частей): Introduction to Parallel Computing: Part 1 и Introduction to Parallel Computing: Part 2.

По моим впечатлениям, это отличное введение в область parallel programming. Материал излагается очень понятно, последовательно и коротко. По сути, в две относительно небольшие статьи вместилась большая часть книги A Pattern Language for Parallel Programming, о которой я рассказывал чуть раньше. Включая и четыре небольших примера использования параллельных вычислений.

В качестве единственной небольшой придиркой к статье я бы мог указать то, что в ней сказано о законе Амдаля (Amdahl's Law), но не сказано о законе Густавсона (Gustafson's Law), который может давать более оптимистичные предсказания выигрыша от распараллеливания вычислений.

В общем, статьи из категории must read. Если, конечно, тема parallel programming интересна. Хотя и для общего развития будет не плохо :)

В конце статьи сказано, какие материалы использовались при ее подготовке. Похоже, что вот эти:
- Maui High Performance Computing Center's "SP Parallel Programming Workshop" (почему-то сегодня этот URL недоступен);
- Cornell Theory Center's "Education and Training";
- "Designing and Building Parallel Programs" by Ian Foster.

среда, 4 февраля 2009 г.

В каждой шутке есть только доля шутки

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

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

На bash.org.ru обнаружилась потрясающая цитата:

Смотрю, как студенты понтуются, кто из них больше ни фига не делал и всё сдал.
Эх...
Когда я был студентом, я сдавал право одной очень милой женщине. Она была практикующим юристом, и я ожидал, что такой специалист меня сейчас будет гонять от и до по всему конспекту.
Она посмотрела на меня и, ничего не спрашивая, поинтересовалась:
- Оценку вам какую ставить?
- Э... Пять хотелось бы
- Отлично, - сказала она, и стала писать в зачётке
- А вы что, даже ничего спрашивать не будете? - удивился я.
Она оторвалась от заполнения зачётки, внимательно посмотрела на меня и сказала:
- Запомните, молодой человек, чем меньше вы знаете, тем более ценна я как специалист.
Эта фраза мне запомнилась на всю жизнь и больше я не страдал фигнёй во время занятий.
И сейчас самое время мне, уже доценту и одновременно практикующему проектировщику зданий, повторить то же самое:
Господа студенты, не учитесь, пожалуйста! Старайтесь как можно больше получить на халяву! Чем меньше вы знаете по окончании института, тем более ценен я как специалист и тем большую зарплату я могу потребовать за свои услуги!

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

вторник, 3 февраля 2009 г.

Впечатления от книги "A Pattern Language for Parallel Programming"

Закончил читать книгу A Pattern Language for Parallel Programming. Точнее говоря, закончил чтение первых пяти глав (шестая глава и приложения содержит поверхностное описание деталей реализации, которые мне были не интересны).

Впечатление двоякое. Книга ценна тем, что погружает неподготовленного читателя в область параллельных вычислений (наверное, речь можно вести даже о High Perfomance Computing). При ее чтении становится понятной разница между parallel programming и concurrent programming. Хотя эти два термина в последнее время часто упоминают вместе (и даже иногда взаимозаменяемо), все-таки это две разные вещи. И данная книга помогает хорошо это осознать.

Поскольку я никогда прежде не был связан с parallel programming, мне было интересно прикоснуться к этому миру. Чему помогают используемые в книге примеры: три задачи, различные подходы к решению которых обсуждаются по ходу изложения материала.

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

Примечательно, что большую часть нужного мне впечатления о parallel programming в очень хорошем, сжатом и четком виде я получил от небольшой статьи Introduction to Parallel Computing: Part 1, ссылка на которую пришла в RSS-ленте совсем недавно.

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