Как стать автором
Обновить
37
0
Иван Миляков @imil

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

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

The Case of the Intermittent Windows Freezes

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

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

Читать дальше →
Всего голосов 249: ↑238 и ↓11+227
Комментарии113

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 532: ↑516 и ↓16+500
Комментарии365

Программируем Windows 7: Taskbar. Часть 2 — ThumbButtons

Время на прочтение3 мин
Количество просмотров1.5K
Недавно я рассказывал о том, как в Windows 7 можно отображать прогресс выполнения операции прямо в панели задач Windows. На этот раз мы продолжим разговаривать про возможности Windows 7 для программиста и рассмотрим возможность добавления собственных кнопок управления в preview окна.

Читать дальше →
Всего голосов 100: ↑79 и ↓21+58
Комментарии47

Программируем Windows 7: Taskbar. Часть 1 — Progress Bar

Время на прочтение3 мин
Количество просмотров8K
Новая операционная система Windows 7 содержит большое количество нововведений и улучшений. Эти улучшения касаются безопасности, производительности, надежности и т.д. Серьезное внимание также уделено и пользовательскому интерфейсу. Для разработчиков ПО на платформе Windows новая ОС также представляет интерес, т.к. в ней содержатся элементы, на которые можно воздействовать программно. В течении нескольких постов мы поговорим об основных нововведениях и программной модели для них.

Читать дальше →
Всего голосов 122: ↑105 и ↓17+88
Комментарии75

Откуда «мыло» в WPF и как с ним бороться

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


Это руководство для WPF-разработчиков, стремящихся добиться максимально чёткой картинки в своих приложениях. Графическая система WPF до мозга костей векторная, но конечным результатом её работы по-прежнему является растр. Если не уделить этому факту должного внимания, можно столкнуться с различными сортами «мыла» — паразитными артефактами растеризации. В такой ситуации важно не терять присутствия духа, причины их возникновения вполне рациональны, а методы борьбы достаточно просты и эффективны.
Читать дальше →
Всего голосов 184: ↑175 и ↓9+166
Комментарии62

Что-то пошло не так

Время на прочтение3 мин
Количество просмотров34K
Заранее прошу прощения, если как-то отнимаю ваше время, уважаемые читатели. Возможно, этот текст — всего лишь эмоции. Возможно, просьба о помощи — я что-то упускаю.

Такое время

Я хотел уточнить, чувствую, что с этим уже мог кто-то сталкиваться. Мой разум переживает такое странное время — ему противоестественна показательная деятельность. Казалось бы, ничего особенного, но я не могу заставить себя программировать бесполезную фигню. Не могу делать что-то, что является шагом назад. То есть, я это могу делать, есть свидетели. Но сейчас такое время — всё, больше не могу.

Я не понимаю смысл алгоритмических тестов в наши дни, когда все применимые алгоритмы написаны. Хотя однажды я на скорость соревновался с другом в подобном задании, это было весело и легко, я оказался быстрее. Тем не менее, возможность получения денег за задания от людей, которые дают такие тесты, мне совершенно непривлекательна. Мой разум расценивает это как деградацию, энтропию и простой идиотизм, и отказывается содействовать моему желудку, хоть они и созависимы. А желудок пуст, денег нет совсем. Какое-то безумие.
Читать дальше →
Всего голосов 156: ↑100 и ↓56+44
Комментарии160

Строю сайты! Like a boss

Время на прочтение6 мин
Количество просмотров3.3K
Like a boss

www.youtube.com/watch?v=NisCkxU544c

Посмотрев презентацию Юрия (yrashk) с Erlang Conference о веб-фреймворках в эрланге я заинтересовался и решил сделать сайтик не на node.js, как намеревался изначально, а используя какой-нибудь эрланговский фреймворк.

В итоге я наткнулся на фреймворк Chicago Boss. Про сам фреймворк я слышал и раньше, но пользоваться пока не довелось.

Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии63

Делаем PDF-книгу из веб-комикса при помощи C# на примере xkcd

Время на прочтение6 мин
Количество просмотров5.4K
Sony PRS-650 и xkcdРассматривая новый выпуск xkcd, я взглянул на свою свежеприобретённую электрокнигу Sony PRS-650, и немедленно подумал — хочу смотреть комиксы на ней! Xkcd как раз чёрно-белые и, обычно, небольшие по размеру. Слегка погуглив, нашел лишь сборник картинок на TPB, и скрипт на bash, который должен делать PDF. Решил слегка поразмяться в программировании и сделать граббер комиксов на любимом C#.

Можно было бы обойтись консольным приложением, но, для наглядности, сделал простой интерфейс на WPF.

Увидеть код и результат
Всего голосов 85: ↑76 и ↓9+67
Комментарии36

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Время на прочтение12 мин
Количество просмотров116K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

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

Внутри вас ждет несколько схем и красивых картинок, довольно много букв и ссылка на пример реализации алгоритма.

Читать дальше →
Всего голосов 147: ↑146 и ↓1+145
Комментарии58

MapReduce или подсчеты за пределами возможностей памяти и процессора (попробую без зауми)

Время на прочтение8 мин
Количество просмотров91K
Давно хотел рассказать про MapReduce, а то как ни взгляшешь на подобное — такая заумь, что просто ужас берет, а на самом деле очень простой и полезный подход для многих целей. И реализовать самому — не так уж и сложно.

Сразу скажу — топик — для тех, кто не разобрался что такое MapReduce. Для тех, кто разобрался — полезного тут ничего не будет.

Начнем с того как собственно родилась лично у меня идея MapReduce (хотя я и не знал, что он так называется, и, разумеется, пришла она мне куда позже чем Гугловсцам).

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

Как посчитать все слова в Википедии (неправильный подход)


А родилась она, как и, наверное, везде — для подсчета частоты слов, когда обычной памяти не хватает (подсчет частоты всех слов в Википедии). Вместо слова «частота» тут скорее должно быть «количество вхождений», но для простоты оставлю «частота».

В самом простом случае мы можем завести хеш (dict, map, hash, ассоциативный массив, array() в PHP) и считать в нем слова.

$dict['word1'] += 1

Но что делать когда память под хеш кончится, а мы посчитали только одну сотую всех слов?

Читать дальше →
Всего голосов 141: ↑133 и ↓8+125
Комментарии53

Прототипирование в Expression Blend + SketchFlow. Часть 2. Основы

Время на прочтение7 мин
Количество просмотров20K
Продолжаем, а, вернее, начинаем разбираться с прототипированием в SketchFlow. В прошлый раз мы посмотрели на эволюцию самого SketchFlow — от ранних прототипов до финального продукта, а сегодня начнем разбирать по полочкам его возможности.

Начало работы и интерфейс


Все начинается с создания нового проекта. На этом этапе вы можете выбрать, какого типа SketchFlow-приложение вы хотите создать. У вас два варианта: Silverlight и WPF-приложение.

image
Читать дальше →
Всего голосов 37: ↑29 и ↓8+21
Комментарии5

«Оживление» пользовательского интерфейса

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

Приложение не отвечает?!


Многие из тех, кто программирует WPF-приложения, наверное тысячи раз писали конструкцию вида:
{Binding Items}

Если получение элементов коллекции Items выполняется в основном потоке приложения и занимает некоторое время — мы получаем «мертвый» пользовательский интерфейс. Приложение некоторое время не будет отрисовывать изменения состояния и реагировать на пользовательский ввод.
Читать дальше →
Всего голосов 104: ↑97 и ↓7+90
Комментарии10

Рисуем карту в WPF-приложении

Время на прочтение4 мин
Количество просмотров27K
Недавно возникла производственная необходимость – отобразить на форме карту России, с детализацией до регионов. При этом нужно:
  • в зависимости от различных условий менять внешний вид областей карты;
  • карта должна “воспринимать” пользовательский ввод и реагировать на него;
  • нужно иметь хорошее качество “картинки-карты” вне зависимости от разрешения монитора.

Один из вариантов решения
Всего голосов 60: ↑44 и ↓16+28
Комментарии25

Пример web-проекта на VS2010

Время на прочтение9 мин
Количество просмотров9.5K
Выход VS 2010 для меня, в первую очередь, это возможность работать с .Net 4, Entity Framework 4, ASP.NET MVC 2.
Все полученные теоретические знания, на мой взгляд должны быть выражены в практическом опыте. Поэтому как только представилась возможность, я реализовал проект с использованием VS 2010. И теперь готов поделиться своими впечатлениями от новых возможностей.
Статья рассчитана на искушенных разработчиков )

Читать дальше →
Всего голосов 87: ↑60 и ↓27+33
Комментарии27

Пишем драйвер для USB девайса. Pipe 0: что такое usb?

Время на прочтение3 мин
Количество просмотров24K
Случилось так, что пришлось мне писать с нуля драйвер для usb дисплея под windows. Имея возможность — расскажу о деталях столь занимательного процесса.
image

USB – это simple

Несмотря на то, что написание драйверов считается достаточно трудным, в сравнении с прикладным программированием – и в этом низкоуровневом мире программисты не были обделены вниманием, большим шагом в упрощении создания драйверов стала разработка шины usb.
Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.
Читать дальше →
Всего голосов 101: ↑87 и ↓14+73
Комментарии44

Настройка и понимание Bacula

Время на прочтение6 мин
Количество просмотров152K
Иногда проснувшись утром отчетливо понимаешь — что то не так. Хотя ты побрился и даже ни разу не порезался, кофе не выкипел, на улице солнечное утро, добрался до работы быстро и без приключений, вроде бы все хорошо, а все равно что то не так. Но войдя в офис ты видишь общую панику, истеричные вопли, о том, что все пропало и «весь офисный планктон» умрет, а ты находишься во главе тех кто погибнет.
Оказывается ночью отказали файловый и почтовый серверы. И тут понимаешь, что не с проста утро началось так хорошо. Работы предстоит достаточно, но данные надежно сохранены, ибо ты позаботился об их резервном копировании.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии46

Сверхплавное передвижение объектов

Время на прочтение2 мин
Количество просмотров7K
Иногда у веб-разработчиков возникает задача, которая требует плавного движения объекта по экрану. Это может быть строка загрузки, какой-то спрайт (например, машинки на клавогонках) или что-то ещё. Проблема возникает, когда сдвиг даже на одну точку кажется слишком резким и портит общее ощущение от происходящего. Как этого избежать? Использовать приёмы антиалиасинга.

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

Как это сделано?
Читать дальше →
Всего голосов 217: ↑212 и ↓5+207
Комментарии103

Принципы разработки ПО для iPhone с использованием акселерометра

Время на прочтение11 мин
Количество просмотров23K
В статье рассмотрено принципы работы iPhone акселерометра, показаны примеры приложений, использующие акселерометр в качестве главного компонента, наведены рекомендации по использованию акселерометра. Также показано, как использовать акселерометр в веб-приложениях. Часть материалов была взята из статьи «Скроллинг при помощи акселерометра».

Что такое акселерометр?


Обратимся к Википедии:
Акселерометр (от лат. accelero — ускоряю и μετρέω — измеряю) — прибор, измеряющий проекцию кажущегося ускорения. Кажущееся ускорение есть равнодействующая сил не гравитационной природы, действующая на массу и отнесённая к величине этой массы. Акселерометр может применяться как для измерения проекций абсолютного линейного ускорения, так и для косвенных измерений проекции гравитационного ускорения. Последнее свойство используется для создания инклинометров. Акселерометры входят в состав инерциальных навигационных систем, где полученные с их помощью измерения интегрируют, получая инерциальную скорость и координаты носителя. Электронные акселерометры часто встраиваются в мобильные устройства (в частности, в телефоны) и применяются в качестве шагомеров, датчиков для определения положения в пространстве, автоматического поворота дисплея и других целей. В игровых приставках акселерометры используются для управления без использования кнопок — путем поворотов в пространстве, встряхиваний и т. д.


Apple — не первая компания, которая внедрила акселерометр в мобильный телефон, но первая, у которой это получилось хорошо.
Читать дальше →
Всего голосов 85: ↑81 и ↓4+77
Комментарии26

Ubuntu on Rails

Время на прочтение1 мин
Количество просмотров1.9K
Недавно на просторах Launchpad.net был создан тим Ubuntu on Rails.

Миссия тима заключается в поддержании пакетов для инструментария, необходимого в Ruby/Rails разработке. В первую очередь это актуальные версии rubygems (вы все еще инсталите их из исходников?) и passenger.

В тиме участвуют ребята из Brightbox, которые до сих пор поддерживали пакеты passenger, nginx-passenger, ruby-ee для Ubuntu и Debian.

В своем блоге я опубликовал небольшой howto для тех кто хочет помочь.

Под катом инструкции по удалению rubygems установленных из исходников и установке правильных :)

Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии22

Git Workflow

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

1 Вступление



В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


Читать дальше →
Всего голосов 120: ↑116 и ↓4+112
Комментарии147
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность