18 авг. 2010 г.
День авиации

14 авг. 2010 г.
Сообщения об ошибках в clang
Одним из требований к clang — новому компилятору Си++ — было предоставить пользователю подробную информацию об ошибках. Рассмотрим небольшой пример.
double UniversalGravitation(double G, double mass1, double mass2, double distance)
{
double F = G * ((mass1 * mass2)/(distance * dsitance));
return F;
}
Здесь допущена описка в идентификаторе. Что же покажет нам clang?
Во-первых, он заботливо подчеркивает место в длинном выражении, какой именно идентификатор он считает незнакомым. Во-вторых, он учтиво подсказывает возможное исправление. Вспомним, как выглядит похожие сообщения в Microsoft Visual Studio 2010. (Хотя Визуал Студию 2010 можно и похвалить: такой тип ошибок оно подсвечивает ещё при редактировании.)
gcc показывает что-то вроде такого:
/tmp/webcompile/_13952_0.cc: In function 'double UniversalGravitation(double, double, double, double)': /tmp/webcompile/_13952_0.cc:3: error: 'dsitance' was not declared in this scope
Почитать о других возможностях диагностического механизма компилятора clang можно в справке: Expressive Diagnostics. Очень интересны случаи, когда оно находит ошибки в неразвёрнутых макросах или в тайпдефах.
Уже жду, когда компиляторы в будущем будут сами исправлять ошибки. А потом и сами писать код.

13 авг. 2010 г.
Выкинул кусок кода
Сегодня удалил из проекта старый Си++-парсер. Спасибо знакомому выпускнику (почти), который образумил меня на этот поступок. Решил интегрировать clang — компилятор Си++ с открытым исходным кодом. Он написан на Си++, компилирует в промежуточное представление llvm, а ещё якобы быстрее и меньше gcc. Теперь потребуется какое-то время, чтобы адаптировать это представление к граф-схемам алгоритма, которые используются при синтезе в железо. Сами алгоритмы синтеза и дампа в Верилог меняться не будут. О результатах доложу позже.
Пик-рилейтед:

Подборка интервью с Артемием Лебедевым
В список включены только видеоинтервью. Не включены слишком короткие или бессодержательные выступления, а также текстовые интервью или аудиозаписи.
Описание |
Дата |
Время |
Антропология — Артемий Лебедев
Лебедев в гостях у Дмитрия Диброва. Благодаря грамотному журналисту интервью получилось очень содержательным и интересным. Темы: — история; — веб-дизайн; — интернет. http://art-sluza.info/2010/07/03/lebedev/ |
1999 |
47:13 |
Артемий Лебедев в архиве программы «Времечко» Интервью перемешано со сводками новостей. Качество оставляет желать лучшего. Темы: — интернет и компьютеры; — Студия Артемия Лебедева; — стоимость сайта и клиенты; — программное обеспечение. http://rutube.ru/tracks/1815277.html |
2000 |
47:34 |
Дмитрий Шапошников и Артемий Лебедев на Новом канале Коротко, но интересно. Темы: |
2001 |
24:04 |
Выступление перед студентами Новосибирского государственного университета Лебедев рассказывает о студии, о том, как всё начиналось, о дизайне, о работе, о ЖЖ, отвечает на вопросы студентов. Весьма интересное и содержательное выступление. http://video.globala.ru/play/2042 |
2005 |
1:50:00 |
Артемий Лебедев о русском языке. Программа «Ленивые будни» http://rutube.ru/tracks/981863.html |
2007 |
58:02 |
О свободе самовыражение блогера Ответы на вопросы блогеров об общении в интернете. http://video.i.ua/user/9/33/45554/ |
2008 |
20:26 |
50 ответов Артемия Лебедева
Интервью записано во время этнографической экспедиции — 2008. Качество записи хромает. Темы: — этнографическая экспедиция; — Студия Артемия Лебедева; — города и путешествия; — личные вопросы. http://www.youtube.com/watch?v=FGRrZfaT-go |
2008 |
19:50 |
«Клиент — это враг?» Запись «поединка» между Игорем Манном и Артемием Лебедевым. Весёлое интервью. Темы: — отношения с клиентами; — увольнение клиента; — CRM; — маркетинг и PR. http://www.youtube.com/watch?v=BVUdS_NXdKI (часть 1) http://www.youtube.com/watch?v=ZeJtB2xXMNE (часть 2) http://www.youtube.com/watch?v=K8pNaTGVWv4 (часть 3) |
2008 |
29:29 |
Новый облик городов: инфраструктура, культура, дизайн
Почему в Европе лучше чем в России? Выступление Артемия Лебедева на Петербургском международном экономическом форуме. Рассказывается о зоне комфорта, а также о принципиальных отличиях нас и западных людей. http://www.youtube.com/watch?v=RxF63VvcJdw |
2010 |
7:25 |
Бизнес-секреты: Артемий Лебедев Олег Тиньков приглашает в гости Артемия Лебедева, чтобы выведать бизнес-секреты. Темы: |
2011 |
39:58 |
Раздвоение личности Артемий Лебедев в гостях программы «Раздвоение личности» на канале iTV. Темы: — где пересекается реальная жизнь и виртуальная? — общение в каментах; — отношение к благотворительности; — заработок на блоге; — о Живом Журнале; — реклама в журнале tema; — сиськи по http://community.livejournal.com/itvcom/4452.html |
2011 |
26:18 |
Искусство провокации Артемий Лебедев и Татьяна Толстая отвечают на вопросы американской публики. Темы: — история развития русского интернета; — отличия русской и зарубежной интернет-культуры; — скандалы, интриги, расследования; — провокации, троллинг. http://www.youtube.com/watch?v=ZUAXs-4XvgQ http://www.youtube.com/watch?v=hHRLtPRYE0k |
2011 |
1:15:38 |

10 авг. 2010 г.
Прогноз погоды на август
Продолжаем вчерашнюю тему про суточную температуру в Харькове. Вашему вниманию предлагается прогноз суточной температуры на август. Всё будет именно так. И к осьминогу не ходи!
Ну и прогноз суточной температуры на сентябрь.

9 авг. 2010 г.
Новости погоды
Программисты этой метеостанции не знали, что у нас будет так жарко.

Спортивные новости
Харьковская служба интернет-новостей «Медиапорт» торопится ознакомить харьковчан с результатами спортивных соревнований:
На самом деле «Металлист» играл дома в Харькове, значит они были хозяевами. Это «Ворскла» играла в гостях. Краснопёров не забивал с пенальти. Он забил после выхода один-на-один с вратарём «Металлиста». А с пенальти забил Девич на
Правописание местами хромает. Но всем известно, что в интернет-журналистике факты и правописание играют второстепенную роль.

7 авг. 2010 г.
О дизайне в документации разработчика
Долго не мог понять в чем проблема, но только что разобрался и тороплюсь доложить вам. Заметил, что читая документацию в MSDN’е на душе становится как-то хорошо и спокойно, а когда читаю в doxygen’е, то как-то подташнивает.
Никто не будет спорить, что документация очень важна, особенно если нужно разбираться в новом большом проекте. И не в последнюю очередь важно качество документации, каким образом она составлена и подана читателю. Вещь непростая, измерить, кажется, трудно. Хотя можно было бы взять группу людей, дать им задачу найти перечень фактов в документации с разным дизайном, и измерить время считывания, поиска информации.
Так вот, если меня интересует какой-либо класс из библиотеки .NET, то в MSDN’е описание выглядит так:
Здесь четко видно: секция «конструкторы» — один метод, секция «методы» — пять. Плотность подачи информации равна шести единицам. Давайте посмотрим на документацию в дефолтовом стиле doxygen’а:
Секции всё также видны, но так легко считать отдельные методы уже не получается. Визуально толстые синие ссылки доминируют над декларациями методов, и отвлекают внимание. Более того, на одном экране мы видим описание только трёх методов. Значит условная плотность равна трём.
Обратите внимание, как doxygen заботливо тип «unsigned» сделал ссылкой. Если вы забудете, что такое unsigned, то вы всегда сможете пройти по ссылке и узнать.
Важная часть документации — это не только описание, но и примеры исходного кода. В MSDN’е мы видим исходники в таком оформлении:
Раз, два, три, четыре — и всё. Четыре цвета. Исходный код в doxygen’е выглядит так:
Здесь же мы видим такие классы подсветки: 1) директивы; 2) ссылки; 3) ключевые слова раз; 4) ключевые слова два; 5) комментарии; 6) встроенные типы; 7) идентификаторы, пунктуация. Итого семь разных цветов. Понятно, что подкраска — это дело вкуса, но если пользователь и так знает, что на любой идентификатор можно кликнуть и перейти в место определения, то зачем лишний раз выделять ссылки синим цветом?
Ну и на последок уменьшенная в пять раз collaboration diagram из doxygen’а. Реально кто-то будет ей пользоваться будучи в реальном размере (3600 на 1500 пикселей, смотреть оригинал)?
В комментариях приветствуются ссылки на мануалы и личный опыт ведения документации, настройки doxygen’а и прочее.
