Как стать автором
Обновить
60
0
Денис @dotcomrade

Пользователь

Отправить сообщение

Много книг, хороших и разных

Время на прочтение20 мин
Количество просмотров96K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Всего голосов 139: ↑124 и ↓15+109
Комментарии89

Нормализация картинки под восприятие

Время на прочтение1 мин
Количество просмотров1.2K
Готовлю сервис, моделирующий eye tracking по изображению. Ради любопытства: пример нормализации картинки под фовеальное зрение человека:



Чем светлее участок, тем сильнее он воспринимается зрением. Модель — trichromacy (полноценное цветовое зрение). Подсветка участков — логарифмическая.

Ну и модель по данному нормализованному представлению:



Основные участки показаны верно (по тестам), но модель завалена в левый угол: где-то ошибка алгоритма. Будем исправлять)

UPD
После сериии публикаций про моделирование eye-traking у меня есть 8 мишеней с реальными тепловыми картами с тоби реадера, на которых я тестирую свои алгоритмы. Если честно, то мне их нехватает. Если есть возможность провести исследования по этому вопросу — буду рад.
Всего голосов 30: ↑28 и ↓2+26
Комментарии34

Промо-сайт: Office 2010 Movie

Время на прочтение1 мин
Количество просмотров1.1K
Оцените новый сайт команды разработчиков Office 2010 по адресу www.office2010themovie.com. Выполнен в духе промо-сайтов голливудских боевиков: обратный отсчет до запуска, завлекающий тизер-ролик с обязательными «От создателей...» и тревожной музыкой. Рекомендую посмотреть всем, у кого работает silverlight. Очень радует, что Microsoft стал уделять внимание дизайну, интересным решениям и творческим подходам в рекламе.

image

* ну и, очевидно, что релиз техничесого превью Office 2010 будет в июле, что тоже новость
** для любопытствующих привожу недавно запустившийся блог Office 2010, в котором уже есть подробности
Всего голосов 89: ↑61 и ↓28+33
Комментарии96

Обратная сторона луны

Время на прочтение14 мин
Количество просмотров46K
При написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).

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

А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.

А я скажу как бы ни так!

В данной статье мы рассмотрим:
  • структура организации размещения объектов в памяти
  • CLR 4.5 Background Server GC
  • правильная настройка сборщика мусора
  • эффективный апгрейд приложений до .NET 4.0+
  • правильное ручное управление памятью

Читать дальше →
Всего голосов 138: ↑132 и ↓6+126
Комментарии28

Fluid UI: прототипирование мобильных интерфейсов

Время на прочтение1 мин
Количество просмотров15K
Fluid UI: очень удобное HTML5-приложение для создания прототипов мобильных интерфейсов в браузере (Chrome или Safari). Буквально за пару минут можно сделать приличный набросок.



Поддерживает жесты, действия на прикосновения, драг-н-дроп, переходы между страницами, дублирование шаблона на несколько страниц, библиотеки iPhone и Android, загрузку пользовательских изображений и скриншотов. Ссылку на созданный дизайн можно быстро отправить коллеге или протестировать на мобильном устройстве. Можно экспортировать в PDF, HTML или графический формат.
Всего голосов 67: ↑62 и ↓5+57
Комментарии28

Контракт «share» — передача данных в метро приложениях Windows 8

Время на прочтение19 мин
Количество просмотров2.4K
В Windows 8 в метро-приложениях появилась возможность передачи данных (Share) между приложениями. В дальнейшем для простоты в статье буду употреблять термин «шаринг».
В целях безопасности передачей данных управляет сам пользователь и вызывается с боковой панели соответствующей чудо-кнопкой Share
image
или сочетанием клавиш Win + H.

В качестве примера можно привести возможность передачи своего местоположения с карт или понравившуюся фотографию в почтовое приложение или твиттер.

Реализация контракта «шаринг» может стать очень мощным маркетинговым инструментом. Вы можете предоставить возможность поделиться своими достижениями в игре или приложении с друзьями, что может способствовать увеличению популярности вашего приложения.

Здесь я буду употреблять термины приложение-поставщик для приложения которое «расшаривает» данные. И приложение-приемник для приложения который может принять расшаренные данные.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии6

Игры, которые лечат (Джейн Макгонигал на TEDGlobal 2012)

Время на прочтение5 мин
Количество просмотров12K

Джейн Макгонигал — геймер; для неё в игре главное — глобальная цель. В данной своей речи, ее цель — увеличить продолжительность жизни каждого в аудитории на семь с половиной минут. Наше задание: как мы потом потратим эти бонусные минуты нашей жизни?
Читать дальше →
Всего голосов 53: ↑44 и ↓9+35
Комментарии60

«Игрушечная» картография или 3D карты своими руками

Время на прочтение4 мин
Количество просмотров11K
Около полутора лет назад на Хабре был размещен пост про уникальные карты китайского поисковика Baidu (для тех, кто не видел, вот он: http://habrahabr.ru/post/115107/). Я был поражен тем, насколько кропотливо, детально и красиво эти карты сделаны, поэтому однажды мы, вместе с группой товарищей, решили разобраться в процессе создания Baidu-карт и сделать собственные карты всего мира, которые выглядели бы так же круто. Под катом много картинок, раскрытие секрета Baidu-подобных карт и то, что получилось у нас.



Читать дальше →
Всего голосов 214: ↑202 и ↓12+190
Комментарии118

Записи с летней школы по Metro-дизайну

Время на прочтение1 мин
Количество просмотров15K


Друзья, как вы, наверняка, знаете, буквально в прошедшие выходные (13-14 июля) мы проводили летнюю школу по Metro-дизайну для Windows Phone и Windows 8. Рады сообщить, что записи лекций уже доступны на TechDays!
Под катом ссылки на отдельные лекции
Всего голосов 54: ↑39 и ↓15+24
Комментарии8

Коаны о программировании

Время на прочтение4 мин
Количество просмотров35K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


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

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →
Всего голосов 253: ↑240 и ↓13+227
Комментарии74

Windows 8: Проектирование интерфейсов

Время на прочтение1 мин
Количество просмотров19K

В продолжении темы о подготовке MSDN к выходу Windows 8, хочется отметить ещё одну порцию полезных материалов. На этот раз собрана документация по проектированию интерфейсов. Приведены рекомендации и руководство о том, как спланировать все сценарии использования вашего приложения, как спроектировать интерфейс, показаны конкретные примеры и многое другое.
Читать дальше →
Всего голосов 76: ↑48 и ↓28+20
Комментарии10

Основы реляционной алгебры

Время на прочтение6 мин
Количество просмотров310K
Реляционная алгебра базируется на теории множеств и является основой логики работы баз данных.
Когда я только изучал устройство баз данных и SQL, предварительное ознакомление с реляционной алгеброй очень помогло дальнейшим знаниям правильно уложиться в голове, и я постараюсь что бы эта статья произвела подобный эффект.

Так что если вы собираетесь начать свое обучение в этой области или вам просто стало интересно, прошу под кат.

Читать дальше →
Всего голосов 78: ↑71 и ↓7+64
Комментарии42

История моей компании: от хобби-проекта до интернет-компании

Время на прочтение6 мин
Количество просмотров1.6K
В этой статье я расскажу с чего начинался мой бизнес и чем является сейчас. Сейчас это интернет-компания в Нижнем Новгороде.

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

Не простое это дело — собственный бизнес :)
Читать дальше →
Всего голосов 152: ↑123 и ↓29+94
Комментарии124

Полиглоты

Время на прочтение5 мин
Количество просмотров4.2K
Есть люди-полиглоты, которые отличаются тем, что знают несколько языков. А есть программы-полиглоты, исходный код которых интерпретируется или компилируется независимо от языка.

Вся прелесть полиглота в том, что один и тот же исходный код можно сохранить как сишный файл, скомпилировать его, и порадоваться результату работы. А можно этот же файл запустить как bash-скрипт и увидеть точно такой же результат работы!
Читать дальше →
Всего голосов 149: ↑136 и ↓13+123
Комментарии66

Git Wizardry

Время на прочтение17 мин
Количество просмотров449K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

Читать дальше →
Всего голосов 89: ↑66 и ↓23+43
Комментарии76

Степан Пачиков: «Если у вас есть идея, в которой вы разбираетесь, можете развить ее в стартап»

Время на прочтение7 мин
Количество просмотров4.4K
13 мая лекцию для студентов специализации «Менеджмент в сфере интернет-технологий» Государственного университета управления прочитал Степан Пачиков, легендарный IT-аксакал, один из самых успешных стартапщиков СССР и всея Руси.

image

Главный архитектор Evernote и организатор, по крайней мере, двух успешных софтверных стартапов начал с полушутливого дисклеймера: «Профессиональным лектором я никогда не был, да и уже 25 лет не читал лекций. Поэтому ответственности за ущерб от применения полученных в ходе лекции знаний не несу». Ну а после предупреждения пояснил, о чем конкретно собирается рассказать: «Расскажу я сегодня о том, что важно для удачного стартапа. Свою лекцию я вначале хотел назвать «Что не нужно делать, чтобы не развалить фирму», но решил не вводить негатив в название. Конечно, я также расскажу и про свою нынешную компанию Evernote: грех не воспользоваться предоставленной возможностью бесплатно прорекламировать свое предприятие и свой продукт».
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии21

10 приемов, разрушающих хрупкую красоту кода

Время на прочтение19 мин
Количество просмотров101K
Статья приводится в сокращении из-за ограничения на объем материала.

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

Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
  1. Объявление всех переменных в начале программы;
  2. Возврат результата функции через ее параметр;
  3. Отсутствие локальных функций;
  4. Отсутствие else if;
  5. Использование параллельных массивов;
  6. Хранение размера массива в отдельной переменной;
  7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
  8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
  9. Отсутствие именованных параметров функции;
  10. Невозможность объявления объектов «на лету».
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.


Объявление всех переменных в начале программы


В двух словах:

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


Читать дальше →
Всего голосов 402: ↑324 и ↓78+246
Комментарии411

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность