Пост на блоге Сергея Розовика - Золотой век русского программиста. Интересный взгляд на российский IT сектор.
Вообще очень советую этот блог почитать, меня особенно раздел "Архитектура" радует. Вот этот пост мне очень нравится: Complexity Fighting.
понедельник, мая 07, 2007
Пост "Золотой век русского программиста"
Категории: programming
пятница, мая 04, 2007
Делаю категории
В новой версии Блоггера появились категории и, как вы, возможно, уже заметили я начала ими пользоваться. В русской версии Блоггера они почему-то называются "ярлыками", но суть та же.
Итак, я хочу сделать минимальное количество максимально полезных категорий.
Буду делать это очень аккуратно, буду смотреть как это влияет на синдикацию в ЖЖ. Очень не хотелось бы опять весь блог туда вывалить ненароком. После некоторых раздумий я решила сделать следующие категории:
cpp - посты про С++
programming - посты по программированию, но не по С++. Я раздумывала на тем, не использовать ли два тега для С++ постов - cpp и programming. Уже несколько таких двойных постов прошло. Но затем я подумала, что это будет очень неудобно людям, которые хотят почитать о программировании, но C++ им не интересен.
fun - сюда попадает все несерьезное типа непростой жизни тараканов и кулинарных заметок
robots - редкие посты про роботов
gamedev - посты о разработке игр. Сюда же попадут посты про DirectX
books - посты о книгах
me - редкие заметки непосредственно обо мне и об этом блоге
После расстановки этих "ярлыков", я опубликую линки на фиды по каждой из категорий.
Идеи были следующие: если вы программируете на С++ и юморить вам особо некогда - подписывайтесь на cpp и, опционально, на programming.
Если вас интересует программирование, но не на C++ - тег programming ваш.
Если вам программирования и так хватает, то тег fun.
Возможны варианты вплоть до таких экзотических как: вы занимаетесь закупкой книг по программированию - тег books.
Замечания, предложения приветствуются!
Если вы читаете только какую-то определенную часть постов, которая ни в какую из перечисленных категорий не попадает - напишите об этом. Я постараюсь категории перетрясти. Я только начала навешивать категории на старые посты еще не поздно все исправить.
После категорий буду разбираться с фидами комментариев.
Категории: me
четверг, мая 03, 2007
Мультиметоды
Что такое мультиметод обычно объясняется на одном классическом примере. Вот у нас есть иерархия неких фигур.
struct Shape {...};
struct Square : Shape {...};
struct Triangle : Shape {...};
И надо уметь строить их пересечение.
bool overlap( Square& a, Triangle& b) {...}
bool overlap( Triangle& a, Square& b) {...}
bool overlap( Shape& a, Square& b) {...}
bool overlap( Square& b, Shape& a) {...}
И хочется, чтобы можно было определить функцию вроде
bool overlap( virtual Shape& a, virtual Shape& b);
При вызове которой автомагически бы выбирался нужный из вариантов overlap.
Формальное определение этого всего: "механизм мультиметодов - механизм вызова виртуальных функций на базе более чем одного объекта".
В своей книге "Дизайн и Эволюция С++" (13.8) Страуструп рассказывает, что очень хотел бы, чтобы мультиметоды были в С++, но вот как-то не сложилось. И в С++09 тоже не сложится, похоже. Предложения по мультиметодам они задвинули куда-то далеко. Вот официальные бумаги по этим предложениям раз и два. (все примеры кода взяты оттуда, кстати)
Мультиметоды можно сделать с использованием RTTI и dynamic_cast'ов. Например вот так: Multiple Dispatch. A new approach using templates and RTTI. Там не все так просто, потому что хочется, чтобы не нужно было делать двойную работу и чтобы не нужно было переписывать куски кода в случае появления новых фигур.
Можно обойтись без RTTI и dynamic_cast'ов. Например как здесь: MultiMethods in C++: Finding a complete solution. Код получается довольно тяжелый. По мне так лучше с RTTI.
Про мультиметоды много и загрузочно можно почитать у Александреску в "Современном проектирование на С++". Глава 11. Она так и называется "Мультиметоды".
Ссылки по теме:
Multiple dispatch - статья в Википедии
Категории: cpp
суббота, апреля 28, 2007
Fotowoosh - трехмерное изображение по фотографии
Статья A New Dimension for Your Photos. Web service Fotowoosh wants to be the Flickr of 3-D рассказывает о новом веб-сервисе Fotowoosh. Этот веб-сервис есть результат исследований, проводившихся в университете Карнеги Мэллон (Carnegie Mellon University). Народ там научился генерировать трехмерные изображения по фотографии. Нужна только одна фотография, обратите внимание. С мая месяца обещают запустить бета-версию, на сайте есть подписка для желающих. Пока же можно посмотреть ролик с демонстрацией возможностей и получить готовые модели с их тестовых фотографий. Ролик есть на основной странице, но у меня он глючил и притормаживал, поэтому я скачивала авишки вот отсюда.
![]() | ![]() |
Результат выдают в формате VRML, хотят еще и флэш сделать. Они туда еще собираются анимацию добавить. Ну чтобы пешеходы бегали, машины ездили.
Детальные рассказы о том как это работает можно найти здесь.
Я где-то в ЖЖ читала историю про пользователя, который пытался обнаженную девушку на фотографии развернуть лицом к себе с помощью Фотошопа. Так вот, мечты сбываются.
Sergey_, спасибо за ссылку.
Категории: fun


