воскресенье, ноября 29, 2015

Приключения с Windows 10, календарные.

После перехода на версию 1511.10586 (супер-пупер крупнейшее обновление Windows 10 TH2) выяснилось, что перестали работать уведомления календаря. На некоторых компьютерах программы “Календарь” даже в списке программ, для которых можно включить уведомления, нет. Но уведомления не показываются на всех компьютерах. Ну, удружили… Справедливости ради, иногда (никто не смог понять, по какому правилу) уведомления, всё же, показываются, но от этого ничуть не легче – положиться на такой “календарь невозможно.

Несколько спасает положение программка из магазина с гордым именем OneCalendar – уведомления показываются, но с минимальным таймаутом, через пару секунд убираются. Да и других недостатков есть у него…

В итоге, система осталась без календаря, из трёх компьютеров под самой пуперской системой Windows 10 про уведомления пищит только телефон под WinPhone 8.1. А кому она нужна, такая система? Правильно, и мне не нужна, поэтому вернулся на предыдущую сборку, 10240. Календарь заработал, уведомления выскакивают и полный няш-мяш. Тут, правда, ведро дёгтя добавляет Microsoft – сервер с календарём не всегда доступен и синхронизация в итоге происходит ХЗ как. Остаётся надеяться, что это не насовсем…

Спрашивается, что ж там за процесс разработки такой чудесный, что при нескольких миллионах тестировщиков в релиз попадают совсем сырые сборки (сборка 10586 в инсайдерской программе тестирования была не больше недели до того, как объявили общий атас на тему установки “суперского осеннего обновления”). Начало всеобщего ажиотажа пришлось на пятницу 13 ноября, что и неудивительно… Все “новые функции” носят либо чисто косметический характер (покрасили заголовки окон, позволили убрать жуткую синюю картинку с экрана логина), либо непригодны к использованию (вложенная виртуализация обставлена такими ограничениями, что и не захочешь пробовать), либо вовсе анекдотичны (вместо хорошо работавшей и зачем-то уничтоженной в июле метро-версии Скайпа выпустили аж три программы, ни одна из которых не работает).

image

Ладно, поживём под сборкой 10240 на основном компьютере, на тестовых (виртуалка, планшет, ноутбук) будем смотреть за развитием в рамках инсайдерской программы, а потом посмотрим…

Приключения с Windows 10, ссылочные

Вчера обнаружил, что в версии 1511.10586.14 перестали нормально работать ссылки на папки (как типа symlinkd, так и junction). При этом ссылки на папки в том же разделе диска работают без приключений. Ссылки на папки с других разделов (дисков) открываются как папки (в cmd, ps, Far, в проводнике), но при попытке войти в папку следующего уровня система сообщает, что “The system cannot move the file to a different disk drive.”. Здрасьте… Палец вниз
Подробное исследование обнаружило, что “фича” наблюдается только на одном разделе. Те же ссылки, скопированные на другой диск, открывают папки нормально на любую глубину. В другой ОС (Windows 8.1) и в этой же, но загруженной в safe mode, “фичи” не наблюдается. Раскопки глубин памяти тоже показывает, что раньше, на сборке 10240, такого не было. Да и в сборке 10586 появилось не сразу… Пропустить явления я не мог, так как некоторыми ссылками пользуюсь практически постоянно – переходы в популярные каталоги на разных дисках сделаны у меня именно на ссылках. Раздел (диск), на котором наблюдаются приключения, отличается от других разве что гораздо бОльшим количеством ссылок на нём. Ну и что, с того – не открываются-то папки совсем на других дисках…
image
Восстановление системы до сборки 10240 (как оно было перед обновлением до 1511) показало, что с памятью у меня всё в порядке – “явление” больше не наблюдается. В центре обновления велел отложить обновления (обещают не приставать с “функциональностью” несколько месяцев), поживём пока на старой версии…
image
Теперь не предлагает этого своего суперского обновления. Переживём пока.

вторник, октября 13, 2015

Приключения с Windows 10, OneDrive’овые

Немного о реализации работы с OneDrive писал в предыдущей заметке. Прошедшие два месяца эксплуатации новой ОС мало что добавили – работа с облаком Onedrive через клиент синхронизации крайне затруднена и в ряде случаев опасна для файлов:

  1. Из всех возможных способов синхронизации данных в облаке и в локальных папках применяется самый тупой и примитивный – полное зеркалирование. Приводит при необдуманных действиях пользователя к удалению файлов сразу на всех устройствах, “Корзина” не всегда помогает.
  2. Нет возможности использовать для маппинга облачных папок “съёмные” носители, к которым система относит дополнительные карты памяти в планшетах.
  3. Нет возможности организовать синхронизацию с “большим” облачным хранилищем. На сайте support.office.com говорится про ограничение в 500 Мб.
  4. В синхронизируемые папки локального диска нельзя поместить симлинки на папки со “съёмных” носителей, например, на папки “Изображения” и т.п, размещённые на дополнительной карте памяти.
  5. На устройствах с Windows 10 (планшет, десктоп, ноутбук) фотографии с камеры не загружаются автоматически в облачные папки, как это было в Windows 8.1 и остаётся в WinPhone 8.1

Для обхода первой проблемы можно использовать дополнительное место на диске, где разместить синхронизируемые папки и куда пользователь ходить не будет. Файлы из этих папок в обычные места хранения и использования (папки “Изображения” и т.п.) переносить с использованием нужного алгоритма при помощи сторонних решений для синхронизации. Я пользуюсь программкой FreeFileSync.

Вторая проблема решается организацией на этой карте виртуального диска, который системой признаётся пригодным для маппинга. Любопытно, много ли из 110 млн пользователей Windows 10 знают, как это готовить? Помогут в этом, полагаю, две статьи – эта и эта.

Третья проблема обусловлена не столько объёмом хранилища, сколько количеством файлов и папок в нём. Так, если в папках находится 1.5 тыс. файлов общим объёмом ок. 2 Гб, то синхронизация нормально работает. Если в папках 12 тыс. файлов общим объёмом 22 Гб, то клиент начинает обход содержимого и никогда его не заканчивает (находится в состоянии “Поиск изменений”). При этом происходит генерация большого количества файлов *.odl в папке C:\Users\<user>\AppData\Local\Microsoft\OneDrive\logs\Personal\ вплоть до исчерпания свободного места на диске. Остановить безобразие можно только с помощью остановки клиента Onedrive, а изменить настройки папок для синхронизации не удаётся вовсе – клиент заявляет, что некоторые файлы ещё не перенесены в облако, поэтому надо пилить дальше. Только хардкор “Удаление связи с OneDrive” и новая настройка. Очень, кстати, напоминает поведение клиента одного известного российского подобного сервиса – обменялись разработчиками, что ли?

Решение четвёртой проблемы то же, что и для второй – вместо “чистой” карты памяти использовать размещённый на ней файл виртуального диска.

Решение пятой проблемы – в организации на сервисе [отдельных] папок для фотографий с планшета и десктопа/ноутбука и включение этих папок в число синхронизируемых через клиент OneDrive. Сами файлы фотографий следует переносить в синхронизируемые папки из локальных (как правило, файлы находятся в папке <Pictures>\Camera Roll\) при помощи средств синхронизации.

В итоге этих изысканий папка OneDrive на моём десктопе выглядит вот так:

image

Здесь
“Галерея камеры Ativ” – папки для изображений с планшета (сформированы под Windows 8.1).
“Плёнка Lumia 520” – папка, в которую складываются изображения с камеры телефона.
Папка “Галерея камеры DkmScomp\Альбом камеры” – фотографии с камеры десктопа.
Папка “SkyDrive Camera roll HD” – папка, в которую складывает фотографии с телефона программка “Camera Roll Sync”.

Все эти папки размещены в отдельном разделе диска, а с папкой “Изображения” синхронизируются при помощи FreeFileSync.

На планшете имеется такая же система папок, в результате чего все фотографии доступны на всех устройствах с “десяткой” с небольшой задержкой и их можно смотреть программой “Фотографии”. Не знаю, правда, как всё это будет работать с Windows 10 Mobile (если она когда-то выйдет), но, надеюсь, при минимальных модификациях заработает и там.

понедельник, октября 12, 2015

Приключения с Windows 10, визуально-студийные–2 или про гамбургер…

С момента первых приключений вышли кое-какие материалы – методические, описательные и т.д. – по разработке интерфейса программ под Windows 10. Пытаются в этих материалах сподвигнуть на использование стандартизованных элементов, способов навигации и т.п. Собственно, так же было с программами под Windows 8.1/WinPhone 8.1, но, похоже, новая команда разработчиков решила, что и интерфейс должен быть новым. Как обычно…

Во всех новых программах, как правило, интерфейс строится вокруг кнопки-гамбургера, но, как сказал в каком-то докладе Константин Кичинский, никакого гамбургера там и нет. Звучало забавно, но при внимательном рассмотрении SDK и примеров становится не до шуток – его и вправду нет. Мало того, нет и элемента меню, которое при нажатии на гамбургер появляется и скрывается… Всё изготавливается “вручную”, на базе других элементов, как фантазия и умения позволяют:

image

Почему RadioButton, почему изображение в Tag? Ну, вот такая фантазия у разработчиков приключилась. Радости добавляет использование вместо иконок символов шрифта “Segoe MDL2 Assets”, которые выбрать можно только при помощи системной “Таблицы символов” (тоже занятие не для слабонервных),

image

а XAML-редактор Студии изображать их не умеет. В итоге текст программы выглядит примерно вот так:

image

И как, интересно, через пару недель разгадать, как они, эти символы, изображаемые здесь крючочками, выглядят? Хотя, конечно, работает это при отрисовке быстрее, чем иконки. Наверное.

Получается в итоге где-то похоже на программы из состава Windows, но почему же нельзя было сделать стандартный элемент для этого меню? Понятно, что сейчас третьи вендоры библиотек элементов понаделают и за деньги предложат, но количество программ в магазине это вряд ли увеличит…

image

Приключения с Windows 10 и с ЭТИМ.

Нет, не с тем, что вспомнилось, а с антивирусами. В который уже раз, и конца этому празднику не видно…

Оставил на одном из компьютеров (планшет Samsung Ativ Smart PC) встроенного “Защитника” – мелькают иногда отзывы о его улучшающихся способностях, сообщения о том, что он у кого-то что-то отловил… Да, с месяц или даже больше уже прошло – и ничего, жив компьютер. Расслабился немного и предпринял очередную попытку поискать драйверы для планшета (несколько устройств так и висят “неодетыми” – непорядок). Ну, тут и началось… Не буду говорить, куда меня занесло гуглем, чтоб другие не вляпались, но было интересно… Установилось много всякой хрени, включая всякие чудо-инструменты от Mail.ru и даже браузер Opera, который никогда в глаза не видел и дальше, скорей всего, не увижу. При этом применялись всякие ухищрения, чтоб скрыть себя или затруднить удаление. Больше всего понравилась поддельная дата установки в панели обновления – и год назад, и тремя днями позже. Если бы на настоящем компьютере дело было, то замаскировались бы, а тут весь список установленных программ виден на одной странице и все уловки с датами и названиями быстро разоблачаются. Изобретательность ребята-умельцы проявили и в деле сопротивления удалению стандартными способами из “Панели управления” – удалятор в конце работы запускает установщик – и так по кругу Дай пять!. “Защитник Windows” лишь однажды прибил какую-то из программ, когда я начал их удалять, при установке же тихонько молчал – наверное, телеметрию передавал в MS, не до троянцев ему было…

Но особо сопротивляться они не сумели – то ли UAC помогает, то ли умельцы были криворукие. Прибил все посторонние процессы при помощи системного “Диспетчера задач” и установил подарок от китайских братьев – “360 Total Security”, который сразу же вычистил десятка полтора троянцев, а после перезагрузки в режиме полного сканирования – ещё 23 штуки. Часа два развлекухи… Палец вверх

Как говорится, “вот и верь после этого людям” с их отзывами о программах… Теперь первой программой, которую буду запускать на новых компьютерах, будет установщик этого китайского антивируса. И другим советую… Он, правда, иногда бывает надоедливым – иногда блокирует установку программ, блокирует новые программы, особенно “универсальные” под Windows 10, выходящие из Visual Studio. Обойти это можно, а в остальном – неплохой продукт: троянцев отлавливает, на сайты иногда ругается, ресурсов много не жрёт, при открытии папок в проводнике компьютер не подвешивает…

четверг, сентября 03, 2015

Приключения с Windows 10, визуально-студийные

или при Балмере такого не было.

Перенёс программку на Windows 10 – никаких особых изменений, только необходимые мелочи в интерфейсе. После сборки пакетов отправил их в магазин и после публикации попытался установить её на планшет. Облом – скачивается, но при установке случается ошибка 0х80073800. И больше ничего в магазине не говорят. Bing с Гуглем ситуацию почти никак не проясняют

Решил сделать по правилам – протестировать пакет в Студии. Да, эта ошибка проявляется, вываливаются “пояснения” и “рекомендации”:

image

Но от такой “информативности” ничуть не легче: что за локализация картинки? Где искать/редактировать эти ResourceMap и NamedResource? Как смотреть/редактировать файл resources.pri, если он бинарный и генерится во время сборки? В общем, бред какой-то…

Методом тыка выяснилось, что такую ошибку вызывает только файл, предназначенный для “Квадратного логотипа 150х150”, если в нём вводился текст (одна буква) в редакторе Студии. Буква, нарисованная кисточкой, та же буква в файлах для других логотипов, эмблем и сплешей, а также буква, введённая при помощи суперпрограммы “Paint”, никаких эмоций у инструмента не вызывает. Смешно, конечно, но очень уж длинный цикл выяснения, сглючит тот или иной файл, или пройдёт проверку.  Да и что тогда делает процедура тестирования в магазине, если этого недостатка пакета не отлавливает?

В итоге включил в пакет вариант от Paint’а, пакет стал устанавливаться.

В общем, что новая ОС, что средства разработки под неё – весьма своеобразные штуковины… Долго ещё вокруг кувыркаться будем.

 

вторник, сентября 01, 2015

Приключения с Windows 10, десктопно-шпионские.

Поставить “десятку” на десктоп заставили “рабочие” обстоятельства - периодически приходится использовать Visual Studio, а предыдущая её версия, под номером 2013, развивалась весьма извилисто и бурно – последнее обновление имело номер “5”, не считая обновлений различных компонентов и дополнений. Вдобавок последние 6-8 месяцев сосуществовали две Студии – добавилась новая, 2015-я, которая через 3 CTP пришла к кандидату на релиз. В итоге этого, как выяснилось, не сильно мирного сосуществования, обе Студии отказались не только нормально работать, но и удаляться не желали. Соответственно, установить вышедший к тому времени релиз VS 2015 не удавалось.

К этому времени было уже понятно, что на моём десктопе работу Win 10 наладить, в принципе, можно, поэтому запустил установщик… Тогда ещё не было нынешнего навязывания новой ОС, некоторым приходилось пользоваться утилитой MediaCreationTool.exe от Microsoft… Установщик бодро взялся сохранить все мои настройки, программы и файлы и в течение 1 ч. 45 мин. так и сделал – после окончания установки стандартных программ выяснилось, что всё осталось на месте. В том числе и глюки, не позволяющие установить Студию. Что ж, навсегда прошли, похоже, времена, когда новая ОС могла установиться поверх старой и сохранить работоспособность. Так, цепочка Windows XP/sp1/sp2/sp3 => Windows Vista/sp1 => Windows 7 прошла у меня через 3 компьютера и не вспомню уже сколько системных дисков. На “восьмёрке” цепочка оборвалась – пришлось ставить систему начисто - с форматированием системного раздела - и неделю восстанавливать программы и настройки… Правда, на удивление гладко прошёл апгрейд до Windows 8.1 и переезд на SSD-диск.

Ну, что ж, опыт есть – скопировал части своего профиля на другой диск, сделал список программ на 4 страницы, проверил наличие дистрибутивов (некоторые обновил – тоже польза…) – можно загружаться с флешки и делать чистую установку. [Если кто вдруг подзабыл, при такой установке – после первой установки поверх Windows 8.1 - не требуется вводить ключ продукта, установщик имеет соответствующие опции на экранах, где он этот ключ запрашивает (2 раза)] Процесс на этот раз занял 19 минут. На диске занято чуть больше 20 Гб. Дальше - три дня настроек… Всё ж, не неделя, уже прогресс. Но и гигабайты благополучно скушались… Получилась в итоге улучшенная версия предыдущей ОСи, улучшения внешне менее заметны для юзеров “восьмёрки” (по мне, с интерфейсом так и хуже стало), для “семёрочников” нового много и придётся привыкать. Изменений “под капотом”, конечно, больше, будем наблюдать и осваивать…

В процессе настроек выяснилось, что без глупостей никак нельзя. Так, виртуальные машины при перезагрузке основного компьютера не сохранялись, как установлено в настройках, а грубо выключались. Решилась “проблема” конвертацией формата машины из XML в какой-то новый бинарный, несовместимый с “восьмёркой”.
Описания проблем с встроенными программами “Почта-Календарь-Люди” переполняют форумы и “Отзывы о Windows” – вот первая же страница:

image

Вначале в эту компанию убогих добавлялась “Погода”, но после нескольких обновлений “очухалась”. С этими же тремя – только ломом: удаляем профиль пользователя и снова устанавливаем из магазина. Забава, конечно, интересная – тоже приходится многое перенастраивать, часы уходят. Если снова поломаются, больше не стану восстанавливать, поставлю замены, которых есть в Магазине.

Продолжается безуспешная борьба с “гаджетами” – кто-то решил, что они могут быть опасными, ничего взамен не предложили и просто удалили из системы. Народ, конечно, нашёл приём и я сейчас могу их установить в течение пары минут. По-моему, с ними веселее, чем без них:

image

Из хорошего (нет, это не “Пуск”, мне он не нужен совсем, да и выполнен он достаточно криво) можно отметить запуск метро-программ в окне, в итоге чего поведение новых и старых программ стало очень похожим. Все в окошках с “тонкими” рамками – довольно красиво получилось. Правда, эти метро-окошки были и в “восьмёрке”, стоили всего 5 баксов…

Лучше, на мой взгляд, воспроизводятся фотографии и видео – но и здесь не без дёгтя. В систему встроили возможность воспроизведения *.mkv файлов, но не всех – встречаются сериалы, которые не запускаются ни в WMP, ни в новой программке “Кино и ТВ” (которая, к тому же, обязательно пару раз в час подвисает на HD-видео). Выручает VLC или пакет кодеков.

Сложно пока оценить полную переделку работы с OneDrive – теперь программка оперирует не ссылками на файлы из облака, а натуральными файлами. При этом “синхронизация” файлов на разных устройствах самая примитивная – передаются все изменения в обе стороны. В итоге можно синхронизировать, например, фотографии на десктопе, планшете и телефоне и удалить их отовсюду действиями на мобильном устройстве (там места всегда мало, хочется иногда почистить…). Правда, теперь программка правильно обрабатывает ссылки на папки (junction), что позволяет в итоге наладить нормальную синхронизацию. Правда, без сторонних программ не обойтись и непонятно, сколько пользователей из 75 млн. сумеют такой фокус проделать. Сейчас пока самым распространённым советом является отключить сервис синхронизации. Можно, конечно и так – программы Офиса самостоятельно работают с файлами на OneDrive, Новая программа “Фотографии” – тоже (хотя и весьма своеобразно).

Из системных вещей, которые могут быть заметны и “простым” юзерам – уменьшенные требования к размеру файла подкачки: при 24 Гб ОЗУ система установила размер файла pagefile.sys в 3,5 Гб. Нельзя не порадоваться с учётом дефицитности места на системных SSD-дисках. Также более эффективно работает “Очистка диска” – под метлу попадает множество ненужных файлов, из-за которых “съедалось” место на системном диске в предыдущих версиях ОС.

Теперь, если программка спросит (кстати, давно уже не интересуется) насчёт рекомендовать Windows 10 друзьям, скорее всего поставлю “тройку” - можно установить, но на свой страх и риск, если разъедает любопытство.

P.S. Много и жарко обсуждается такое “новое” свойство “десятки”, как “шпионаж за пользователем”. Тут длинно, напишу отдельный пост, пожалуй.

пятница, августа 14, 2015

Приключения с Windows 10, планшетно-лаптопные.

Так уж сложилось, что финальную сборку системы сначала установил на лаптоп Asus X55A – довольно слабая машинка под Windows 8.1, которая использовалась для хождения по сайтам, смотрения фотографий и сериалов, чтения книжек и т.п.

Выделил под систему раздел около 90 Гб (для удобства бекапа и восстановления) и установил новую ОС из ISO-дистрибутива. На удивление, установка (с сохранением всех программ, настроек и данных) прошла достаточно гладко, не считая времени установки – больше двух часов. Да и в дальнейшем машинка работала нормально, только медленно. Поставил ей побольше памяти (до 8 Гб) – и стала работать вполне сносно, новая Visual Studio 2015 поставилась и работает без приключений – вполне нормальный получился запасной инструмент для разработки. За почти уже месяц эксплуатации каких-то особых недостатков не выявлено, не считая отказа работать у календаря/почты после установки “апдейта” KB3081436 – ну, это не от машинки зависит, это апдейт такой забавный… Правда, и особого смысла в переходе на новую ОС тоже не выявлено – к белым окнам надо зачем-то привыкать, радости от “Стартового меню” довольно мало (какой-то гибрид получился 7*8), работа с OneDrive радикально изменилась и т.д. Есть, наверное, и что-то полезное (типа списка быстрого доступа в проводнике и облегчения показа библиотек в нём же), но это сущие мелочи, вообще-то. Воспроизведение *.mkv файлов (да и то не всех) вряд ли можно считать сильно большим достижением – дополнительные драйверы всё равно приходится ставить. Может быть, когда (или если) начнут появляться программы под новый АПИ (который, говорят, существует), увидим пользу перехода. Но пока таких программ нет (кроме пасьянса)…

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

Основная подготовка перед установкой “десятки” – удаление игрушек, забивших практически весь “диск”. “Зарезервированного” экземпляра ОС ждать было лень, поэтому сделал iso-файл утилитой MediaCreationTool.exe, запустил установку с него. Без клавиатуры.

После пары неудачных попыток (процесс падал на 20-30%) , удаления разных резидентов и отключения защиты “360 TS” процесс примерно через 30 мин. добрался до 100% и перезагрузки. Все остальные этапы происходили гладко, хоть и нестерпимо медленно – система пытается искать и корректировать настройки всего, что есть на компьютере. Хотя и не припомню, что там было-то, кроме игрушек из магазина, да фирменных самсунговских драйверов и утилит. Тем не менее, через 3.5 часа увидел экран десктопа с моей картинкой – история закончилась.

В дальнейшем, правда, выяснилось, что она, история, только началась… Самое печальное, что без удаления профиля пользователя ничего толком не работает – что-то падает, что-то, наоборот, зависает. При этом выяснилось, что профиль почему-то просто так не удаляется – только вместе с пользователем (потом на десктопе удавалось операцию проделывать без такого ужаса). После приведения машинки в чувство стало понятно (даже семилетней внучке), что нормальный интерфейс, который был на Windows 8.1, испортили с неясными намерениями: постоянно, даже в режиме планшета, торчит на экране “панель задач”, “чудо-кнопки” из правого края экрана не выползают, “меню” слева вместо экрана со всеми приложениями – сущее вредительство при пальцетыкальном управлении (даже внучка иногда попадает не на ту строчку…). Истребление “чудо-кнопок” не объяснить никакой логикой (есть же режим планшета, пусть бы в нём они и были), теперь использование ”шаринга” данных в некоторых программах без кнопки требует весьма нетривиальных телодвижений. Дополнительно обнаружилось, что в любимом новостном интеграторе FlipBoard почему-то уменьшился шрифт заметок. И на мониторе побольше получилось мелковато, а на планшете и вовсе глаза напрягает, больше получаса не почитаешь… Как и зачем такое сделали, неизвестно – программка, вроде, та же самая, что и в Windows 8.1.

Уж молчу про новый пасьянс, весь утыканный рекламой…

В общем, когда программка “Отзывы о Windows” задаёт вопрос “Порекомендуете ли Windows 10 друзьям и сотрудникам”, с чистым сердцем отвечаю “никогда” или “в исключительных случаях” – они ж мне не враги.

Wordo-тесто

 

Похоже, фигня какая-то.

Собственно, и не Вордо, а Blogger Manager тесто...

 Может, и не очень фигня...

В общем, этот манагер годится для управления вместо браузерного клиента. Немного подредактировать...

среда, июля 01, 2015

Приключения с Windows 10

Смотрел, смотрел на всяких пробных установках (Pro x86 в виртуалке, Enterpri на железе), да и решил поставить на рабочую систему (Win 8.1 Pro с кучей всякого софта, с виртуалками и т.д.) обновлением сборку 10158 из ISO-файла. Пока поставил - всё удовольствие продолжалось около 3-х часов (с перерывом на поспать, система в это время тоже спала) – пока посмотрел, всё ли на месте (всё сохранилось на первый взгляд, кроме гаджетов, которые сносят с упорством, достойным…) – запустил виртуалку и увидел, что раздают новую сборку, 10159. В виртуалке она быстренько поставилась, а на обновлённой системе висит без движения вот эта картинка:

image

Оно бы и ладно, когда-то скачается, но она, собака, не активируется – ни тем ключом, который откуда-то взялся при установке, ни другими, которые присутствуют в разных публикациях (ключ с сайта Insider-программы даже не принимается). Теперь и непонятно, как с этой фигнёй быть – на сайте лежит ещё сборка 10130, и двигаться через неё и обновления очень уж не хочется. Поставлю сейчас 10159 из образа, будет опять себя неправильно вести – восстановлю системный диск обратно, подождём до 29 июля…

среда, мая 27, 2015

Приехали?

Впервые за 10 лет сегодня не получилось запостить сюда заметку при помощи Live Writer, которым тоже пользуюсь немеренное количество времени - не может он зайти сюда, и всё тут... Мало того, даже вручную, во встроенном редакторе на Chrome пристойно пост сверстать не получилось - см. этот пост.
Это что, начало истребления сервиса, не приносящего денег? Жалко...

Тотальный диктантор

Нравится мне эта затея – Тотальный диктант. Посмотрел материалы сайта, даже онлайновый тест потыкал (не разочаровался - с правописанием справился, только насчёт запятых у нас с Д. Быковым понимание оказалось разным). Писать в реальном режиме, когда акция проводится, не пробовал – опоздал, да и не сильно интересно, чтобы какая-то неизвестная мне училка оценку ставила…
А вот офлайновых возможностей организаторы предусмотрели маловато, особенно для первых акций. Пошарил на Youtube, там нашлись ролики с диктовками (это когда не просто зачитывается текст, а произносится чётко, по предложениям – как в школе), правда, не для всех диктантов. Тексты диктантов вывешены на сайте акции, там же есть комментарии по правописанию и пунктуации для некоторых диктантов. Пришёл к мысли, что можно это всё собрать в одном месте и дать возможность желающим поупражняться в по-настоящему сложных диктантах.
В итоге манипуляций с роликами, текстами, файлами комментариев, хостингом и т.п. получилась вот такая программка для Windows 8.1:


Доступные диктанты:



Процесс написания диктанта:

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

Результат проверяем самостоятельно!





Самым непростым оказалось размещение файлов с материалами – их набралось даже после урезания роликов с диктовкой до минимального пристойного разрешения (здесь сильно большого, вроде, и не требуется) ок. 400 Мб. Сложить их все в пакет для Магазина вполне можно, даже можно загрузить пакет в магазин на тестирование (загружался около 30 мин.), но вряд ли много пользователей спокойно вынесут такую долгую установку приложения… Решил, что в пакете оставлю набор только для одного диктанта – типа, ознакомительный – а остальные загружу после установки программы, когда юзер будет видеть, что происходит, с какого-нибудь бесплатного хостинга (не использовать же платный для бесплатной программы). Попутно выяснилось, что большинство бесплатных облачных хранилищ файлов (Яндекс.Диск, Облако Mail.ru, Google.Disk и др.) с таким подходом не согласны – формируют ссылки не файлы, а не страницы, с которых файлы можно скачать. “Вручную” файл загрузить можно, а вот программно – большой вопрос (можно, конечно, парсить эту страничку и пытаться выудить оттуда настоящую ссылку на файл, но тут придётся сражаться с фантазмами тамошних программеров/дезигнеров, которые выскочат неизвестно когда и в каком направлении – плавали, знаем). В итоге пришлось, всё же, воспользоваться платным сервисом – пока не найдётся подходящий бесплатный…
По требованиям Магазина пришлось соорудить “сайт программы” – спасибо Google, что пока не закрыл сервис страниц. По моде зачем-то открыл “страницу программы на Фейсбуке” – может, пригодится для чего-нибудь…

Ну, и добро пожаловать потестировать, поставить 5 звёзд и написать отзыв.

Версию для телефона делать не стал – не смог представить, как исхитриться писать диктант на телефоне…
Версию для десктопа возьмусь делать, только если она кому-то понадобится – всё же, на дворе 2015-й год и через пару месяцев обещают выпустить практически бесплатную для тех, у кого “семёрка”, Windows 10, на которой программка тоже работает.

понедельник, апреля 20, 2015

Кино, OneNote и пределы.

Заметил как-то, что начинаю забывать, какие фильмы смотрел, а если смотрел, о чём они и стоит ли их смотреть снова. Нет, хорошие-то фильмы помнятся, конечно, но их мало, а остальные составляют подавляющее большинство, на информацию о них мозгу емкость тратить не хочется… Вдохновился по этому поводу соорудить программку для хранения информации о просмотренных фильмах. Ну, и рекомендации всякие неплохо бы хранить… Вдохновение как-то достаточно быстро испарилось – очень уж много бодяги с такой программой, а готовые не очень устраивают – но необходимость-то в информации никуда не девается…

Присмотрелся повнимательней – оказывается, подходящая программа давно уже есть, даже является моей одной из основных, которыми пользуюсь – MS OneNote. Всё нужное здесь можно делать – собирать чужие и писать свои рецензии, собирать скриншоты прямо во время просмотра и т.д. А возможности поиска в программе – выше всяких похвал.

Методика работы с информацией довольно простая: перед просмотром фильма открываем книгу “Мои фильмы”, в ней раздел “Смотрел”. Запускаем программу просмотра (ivi.ru, “Фильмы онлайн” и т.п.), в ней запускаем фильм и через механизм шаринга (“Поделиться”) собираем на страницу фильма описания, рецензию, скриншоты. Можно дополнительно открыть “Кинопоиск” и набрать информации оттуда.

Что получается в итоге, видно здесь - http://1drv.ms/1aIOd27 (нужен MS account).

Полгода всё шло хорошо, но пришёл белый и пушистый предел – вот этот фильм был последним (71-м, всего семьдесят первым Sad smile), страницу которого удалось добавить на планшете. Дальнейшее добавление на планшете страниц просмотренных фильмов приводит к тому, что синхронизация с облаком повисает и все изменения остаются на планшете. Всё это безобразие происходит на планшете с 2 Гб ОЗУ в программке с метро-интерфейсом. Такая же история в виртуалке с такой же памятью под Windows 10 в бете программы под эту ОС. На десктопе с 24 Гб памяти таких приколов нет, как на метрошной программке, так и на десктопной. Похоже, на 2-3 года ещё хватит…

Обошёл ограничение по рабоче-крестьянски – начал добавлять с планшета страницы в специальный пустой раздел, потом на десктопе переносить эти страницы в раздел «смотрел».

Похоже, команда, которая OneNote мастерит, не сильно придерживается рекомендаций от MS по работе с данными – пейджинг всякий и т.п. заумь. А компьютеры у них хорошие и никаких пределов они не встречают… Любопытно в связи с этим, как скоро запищат пользователи всяких iOS-Андроидов и малых Win-планшетов, куда программка, как и прочий Офис, усиленно внедряется.

суббота, апреля 18, 2015

TFS или горе от ума…

Использую при разработках TFS на http://visualstudio.com - халявный, достаточно удобный, хоть иногда помаленьку и глючит.

На днях получаю вот такой сюрприз:

image

Через браузер тоже не войти:

image

Выяснилось, что нельзя зайти и на некоторые другие сайты, тоже для разработчиков – напр., на https://dev.windowsphone.com:

image

Никакие телодвижения не помогают - смена браузера, юзера, отключение антивируса (360), брандмауэра, смена ИП путём перезапуска роутера и т.п.

При этом с виртуалок и др. компьютеров (с планшета, напр.) можно зайти и через браузер, и из Студии…

Гугль рассказывает, что такие истории периодически всплывают у разных юзеров, универсального лекарства нет - часто проходит само или в результате действий, которые другим пользователям не помогают. Периодически и у меня “проходило само” – Студия подключалась к сервису, можно было делать checkin, но через несколько минут история повторялась.

Помогло отключение в брандмауэре правило для блокировки файла \node.js\node.exe (спрашивается, кто его заблокировал и при чём он тут вообще?). Через пару часов выяснилось (ничего, собственно, на компьютере не делалось, кино смотрели…), что этот файл и его блокировка вправду ни при чём – всё “восстановилось” в своей гадости…

При помощи F12 в Хроме и ИЕ выясняется, что ошибка VS400664 (на картинке выше) случается при запросе на УРЛ https://tfsprodch1acs01.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=https%3a%2f%2fapp.vssps.visualstudio.com%2f&version=1.0&reply_to=https%3a%2f%2fapp.vssps.visualstudio.com%2f_signedin%3frealm%3dapp.vssps.visualstudio.com%26protocol%3dwsfederation%26cache_key%3dSBW5SEIQ63GOLBA5XNOKYZUUQ2JE2OJBLU6EGP4DDWDGHE6TQ4BQ%253D%253D%253D%253D%26mkt%3dru-RU&callback=jQuery18301627928065136075_1429313613313&_=1429313614103
Такая диковинка сформирована библиотекой jquery - очень, наверное, умная, раз такое чудо соорудила... Убрал всю заумь, оставил https://tfsprodch1acs01.accesscontrol.windows.net и браузер сразу спросил пароль. После этого открылась нужная страница (https://app.vssps.visualstudio.com/profile/view?mkt=ru-ru), и всё прочее заработало - и страницы разработчиков, и связь с TFS из Студии…
Ура, да не очень – через 15 часов всё “восстановилось” и рецепт больше не помогает…

Очередной рецепт, от благодетелей - https://support.microsoft.com/ru-ru/kb/299357?wa=wsignin1.0, сброс настроек TCP/IP.

Заработало – ура! Правда, после перезагрузки выяснилось, что полетели все настройки входов на сайты, в т.ч., в самой Студии. Спасибо lastpass – всё быстро восстановилось.

Но тут новый вопрос – а с какой периодичностью сию процедуру очистки от протокольно-сетевого мусора надо производить? И почему это нельзя автоматизировать? А что делать, если и это не поможет – систему переустанавливать? Ещё свежи воспоминания о “чистой” установке Windows 8 в 2012 г. (upgrade с Windows 7 не пошёл тогда) и установке и настройке всего нужного софта (в апплете панели управления «Программы и компоненты» примерно 7 страниц)…

Всё время говорю – ещё наплачемся с этим jscript, очень уж рьяно его везде взялись внедрять… Black Sheep

понедельник, марта 09, 2015

И снова про ЭТО - 2

Про вирусы-антивирусы, конечно…

Последние дня 3-4 сидел в Windows 10 TP, решал кое-какие технические проблемы, которыми портить рабочую установку Windows 8.1 жалко. Сегодня обнаружил, что в этой “десятке” браузеры запускаются в какую-то левую поисковую страницу http://www.mystartsearch.com, а ИЕ и вовсе падает после запуска (в промежутке между падениями удалось разглядеть какую-то неизвестную “надстройку” IETabPage, которая не удаляется и не отключается. При внимательном рассмотрении выяснилось, что никакого антивируса в системе и нет (ну, кроме встроенного “Защитника Windows”), а в процессе экспериментов я устанавливал парочку безобидных программ. Ну, и этого хватило…

Поставил китайский антивирус 360 Total Security (который наряду с защитой при помощи трёх антивирусных движков заодно и неплохо чистит систему от разного мусора), запустил проверку и вот он, троянец, которого успешно и удалил (правда, без перезагрузки не обошлось – стойким оказался этот оловянный солдатик троянец)... В общем, спасибо китайским братьям.

P.S. Неспроста, похоже, Microsoft 7 марта выпустила внеочередную программку для удаления вредоносов, которую распространили через Windows Update, но почему-то с меткой “рекомендуемое” (такие обновления автоматически не устанавливаются, смысл акции становится непонятным). Обычно такие программки распространяются в составе месячных пакетов обновлений с меткой “важное”, которая вызывает автоматический запуск (что логично, собственно).

В общем, на благодетеля с его “бесплатным” антивирусом надейся, но сам не плошай – используй какой-нибудь настоящий антивирус. Хоть бы и Касперского…

пятница, декабря 26, 2014

Игрушечка-9 или Sharing-2

В последнее время основным способом эксплуатации программки LastFM Writer стало распознавание треков при прослушивании радио. Интернетное радио слушаю на планшете/десктопе при помощи турецкой программы RADYO, данные из которой через Sharing подаются в LastFM Writer и отправляются на сервис Last.fm. При прослушивании эфирного радио (в основном, “Радио джаз”) для распознавания треков использую программу Shazam на телефоне или планшете, результаты работы которой тем же путём отправляются на сервис Last.fm. Музыка с YouTube слушается примерно так же.

И всё бы шло своим чередом, но на ребят из Shazam напал зуд рационализаторства. Программка, может, и лучше стала работать (как они сами говорят), но формат данных для обмена они поменяли. Раньше обычным текстом писали типа “Я только что прослушал «С чего начинается родина» от Кобзона” на разных языках, теперь же выдают нечто вроде вот этого, без всякой локализации. Как из этого получить данные трека, неясно. Не парсить же страницу… Обращение в суппорт Shazam сделать как было принесло радостный ответ с уверениями, что как только разгребут завалы писем, так сразу моё и прочитают. Неделя прошла – пока не прочитали.

Так и пришлось (другой-то такой программки и нет) парсить страницу по адресу, благо, страница оказалась небольшой и данные не закопаны глубоко (хотя, резервы есть и любители подковать блоху не переводятся не только на Руси).

Но основной-то подвох заключался в другом – изменили не только состав информации на обмене, но и тип объектов, которые программка отдаёт по шарингу.  И никому, как водится, об этом не сказали. И самому об этом узнать непонятно как.

Сделать обмен в эмуляторе телефона под отладчиком не получается – на эмулятор нельзя поставить программу из магазина. Сделать обмен на настоящем телефоне тоже не получается – программка использует SQLite, вследствие чего компилится под платформу x86, а Студия не представляет, как такую конструкцию в телефон засунуть. Так и пришлось писать специальное «универсальное приложение» для изучения шаринга. Попутно выяснилось, что на телефоне отладчик студии бесполезен – после запуска обмена с приложением отладчик от него отцепляется. На десктопе, правда, ничего не отцепляется, но и Shazam здесь ещё не обновили…

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

В общем, слушаем радио дальше…

четверг, октября 16, 2014

Игрушечка-8 или Windows 10

Как всё прогрессивное человечество, скачал и установил на виртуалку то, что все давно ждали – очень универсальную ОС Windows 10. Поудивлялся, что не “9”, но не долго (хозяин – барин, мой рояль, куда хочу, туда и ставлю). Установил из магазина свою программку и решил посмотреть, как использующиеся в ней разные технологии работать будут.

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

После запуска программки на windows 10  под отладчиком на проблемной страничке прямо в конструкторе получаю ошибку с сообщением "XAML parsing failed.". Вот и здрасьте...

Бля!!! Дело оказалось в задании значений для комбобокса:
<x:Int32>50</x:Int32>
<x:Int32>100</x:Int32>

Заменил целые на строки, и всё стало работать:

 <x:String>50</x:String>
<x:String>100</x:String>

Пришёл к выводу, что в дальнейшем такие вещи надёжней делать в коде, хоть в конструкторе XAML и удобней иногда. Мало ли, какие ещё глюки в XAML-парсер добавят. И как оно там будет, когда эту “универсальную” ОСь на телефон поставят…

Игрушечка-7 или Локализация-2

Предыдущая “Локализация” была про нехватку стандартных средств XAML для локализации. Нынешняя – про то, что не всегда можно делать так, как кажется логичным.
У элементов интерфейса есть два атрибута – x:Name="MyControl" и x:Uid="MyControl". Первый используется в коде как имя переменной, обозначающей этот элемент, второй – в ресурсах со строками для локализации как префикс имени нужной строки (напр., MyControl.Text и т.д.). Нигде значения этих атрибутов не пересекаются и, по логике, вполне могут иметь одинаковые значения – удобно же, особенно, когда контролов много, оперировать с одинаковыми именами.
Но у изобретателей XAML-парсеров своя логика… До некоторого уровня сложности (количества нагромождений элементов разметки, методов и свойств объектов в программе) она совпадает с моей – всё компилировалось, загружалось на телефон и десктоп, запускалось, локализовалось и работало. С какого-то момента, запустив программку на эмуляторе телефона, получил сообщение о необработанном исключении при парсинге XAML в методе InitializeComponent(). При этом, естественно (метод-то не мой, хоть и можно Студией залезть) внутри него толком ничего узнать не получается. Сообщается, что ошибка в такой-то позиции такой-то строки. И поди догадайся, что строку надо искать в файле, который генерит препроцессор XAML… Вот тут-то, при разглядывании этого файла, и рождаются подозрения, что атрибутам x:Name и x:Uid нужно обязательно задавать разные значения… И действительно, после изменения одного из них XAML начал успешно парситься.
Где это говорилось про одну ОС на всех устройствах? Пускай бы парcер XAML одинаковый был, это, вроде, попроще…

среда, июля 30, 2014

Как у всех…

Давно с прискорбием констатирую, что качество программного обеспечения (ПО) постоянно снижается (говоря “толерантно” - не улучшается). Добавят в программу (операционную систему, инструмент управления и т.д.) новое средство, свойство и т.п. – и с ними новые ошибки. А старые исправлять – недосуг, надо вперёд мчаться, как маркетинг и экономическая модель велят.

В итоге может случиться всё, что угодно. Например, самая супер-распупер ОС Windows 8.1 на моём десктопе временами может вывести из себя и не пустить обратно… Загрузка из выключенного состояния до рабочей обстановки (запустить ФАР, Студию, браузеры с 15-20 окнами, OneNote и некоторые мелочи) занимает минуты полторы или две. Та же обстановка из состояния “сна” получается через 5 минут или больше. Ну, не переносят многие программы этого сна, трудно просыпаются, как с похмелья или после тяжёлых наркотиков. И ладно бы это были подозрительные примочки типа Punto Switcher, но это и MS-мышка, VS 2013, и ИЕ 11, и Ёксель 2013, и Хром. Их всех приходится, как правило, перезапускать. И такое не только после “сна”, но и после 30-40 минут простоя. Эти ребята, похоже, думают, что кроме планшетов и телефонов других компьютеров не осталось. Остались ещё десктопы, и не надо на них экономить без моей просьбы, засовывая “нормальные” программы в состояние Suspending, как метрошные игрушки.
Большой Брат, фиг ли…Палец вниз

Равняются на него, Большого, и братья поменьше. Например, есть такая программка μTorrent – всегда считал её в некотором роде образцом: маленькая, ресурсы почти не жрёт, сколько заданий ей ни подкинь, как бы плохо ни работала сеть – программка методично исполняет свою работу и рано или поздно – иногда и через месяц-два - файлы у тебя будут. Постепенно, с добавлением новых фич, типа рекламы всякой дряни, “встроенного” проигрывателя и много чего ещё не менее полезного, ресурсы стали пожираться весьма заметно. “Усовершенствовали” также алгоритмы работы с полученными данными – запись на диск, кеширование (может, ещё чего-то, но эти видны невооружённым глазом).

В итоге все эти “доработки” – сейчас версия 3.4.2 (может, также во взаимодействии с “восьмёркой”) - приводят к зависанию на заданиях сложнее, чем скачивание одиночного файла размером 50 Мб. Начало это проявляться на планшете (там можно ещё списывать на общую слабосильность и медленные “диски”), но вот вчера программка сумела подвесить мне десктоп с 4-ядерным i7, 15 Гб памяти и SATA-диском.  А всего-то попросил скачать сериал Клиника (около 200 файлов общим объёмом 49 Гб). И не то, чтобы висит ОС насовсем, но и не качается ничего, только программа место под файлы занимает (100% загрузки диска, за 1.5 часа разместила 10 Гб), и выгрузить программку цивилизованно нельзя, только кувалдой. [На планшете в таком состоянии и кувалдой не получается, приходится hard reset применять…].

То ли это такая “борьба с пиратством”, то ли полная деквалификация разработчиков… Надеюсь, что, всё же, второе – косорукие они, но не самоубийцы же… Может, садисты, правда. Схожу с ума от злости

А выручает в торрент-делах, как ни забавно, метрошная программка Torrex. На планшете работает совсем без сбоев (там простые задания), на десктопе же несколько раз останавливалась с сообщением о недостатке памяти (!?) и пару раз завалилась с сообщениями о конфликтах блокировок. С кем она там конфликтует, понять не удалось, но программка сразу возобновляла работу после перезапуска. Палец вверх

суббота, июля 26, 2014

Игрушечка-6 или Списки значений

В программку добавил поддержку работы с базой данных. SQLite, конечно, других-то для “универсальных программ” и нет (что, конечно, весьма удивительно – всегда же был SQL Server compact edition). Цель, собственно, была простая – при отсутствии связи с сервисом Last.fm сохранить на время информацию о треке, чтоб потом её отправить повторно. Так, собственно, известные мне клиенты сервисов и делают. Рефлексы не позволили делать ненормализованную таблицу треков, в результате появились таблицы-справочники названий треков и альбомов, а также имён исполнителей. Ну, и чтобы добро не пропадало, сделал пополнение этих справочников при каждой отправке данных на сервис.

Хорошо, но мало: справочники растут, а пользы от  этого никакой. Первая мысль – сделать на их основе автодополнение для ввода в форме программы. Ура! Одна малость – подходящих под эту задачу контролов как-то не наблюдается ни среди стандартных, ни среди розданных на халяву фирмой Terlerik. Пришлось сооружать такой контрол самостоятельно. Контрол получил гордое имя “TextBoxWithList”:

image

После ввода с клавиатуры нескольких символов список заполняется подходящими значениями из справочника и выводится на дисплей:

Windows 8.1. WinPhone 8.1
more-artists more-albums

В основной форме пришлось помещать элементы в Canvas, без чего получалась мешанина:

image

Собственно, всего этого достаточно, если бы не одна малость – на телефонах работает как задумано только на 6” устройствах. На меньших экранах с третьим полем формы случается неувязка: выпадающий список практически полностью перекрывается находящейся в этот момент на экране клавиатурой. Для других полей список перекрывается частично и это не мешает им воспользоваться:

more-tracks

Сразу же возникает мысль использовать suggestions клавиатуры, однако обращение к собратьям эту мысль на время похоронило. Не придумал ничего лучшего, как при появлении списка сдвигать все элементы вверх, для чего пришлось прикрутить к контролу событие VisibilityListChanged, в обработчике которого и двигаются элементы формы:

more-artists
Вариант с рисованием списка выше поля ввода мне не нравится – и сам контрол надо переделывать, и основная форма ещё больше станет станет различаться в вариантах Windows/WinPhone, от чего Студия свихнётся окончательно...

Игрушечка-5 или Локализация

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

XAML, который используется для разработки нашей программки, имеет собственные средства для локализации элементов интерфейса. Но не всех, для которых приходится выдумывать собственные средства. Например, вот такой класс пришлось сочинить:

image

Второй интересный вопрос – где брать локализованные строки. В смысле, чем переводить…Если с русско-английским переводом сильно больших проблем не возникает – программка Babylon Translator (переводчики Google и Bing переводят гораздо смешнее) помогает вполне пристойно, то с переводом на украинский хуже. Babylon делает очень смешно – переводит русские строки на английский, результат уже переводит на украинский. В итоге получаем смесь украинских и английских слов. Хорошо, что существует специальный ресурс pereklad.online.ua, который умеет переводить напрямую, без английского.

На результаты, поставленные рядом (по жизни их рядом нигде не видно, даже в магазине)  смотреть довольно забавно:

3-2.testTrack 3-2.testTrack form-2-green-2

Страница с описаниями -  здесь, программы можно взять в магазинах:

   

воскресенье, июня 01, 2014

Игрушечка-4 или Sharing

В программке для отправки данных на сервис Last.fm использовал приём и обработку информации от других программ. Использовал тексты, которые парсятся при помощи регулярных выражений.
Достаточно случайно заметил, что некоторые программы могут делиться не только текстами и скриншотами, но и выделенными в них файлами:
image
Пришлось сделать обработку этих файлов – извлекать из них, если есть, медиа-информацию, и отправлять её на сервис. Благо, такая функция в программе уже была, только применялась для файлов, выбранных File Picker’ом.
При более внимательном рассмотрении выяснилось, что подобный фокус можно проделать также и с использованием “традиционных” файловых менеджеров – Explorer, Far – лишь бы они умели выполнять операцию копирования в clipboard. Для взаимодействия с моей программкой используется переходник – программа Clipboard (“Буфер обмена”):
image
В обоих случаях запускается обработка группы файлов:
image