четверг, июля 11, 2013

Компьютер для матери

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

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

Железо и ОС.

Выбор, собственно, был из двух вариантов: notebook или планшет. Под Windows 8.
Десктоп отмели сразу - очень уж громоздкая штуковина для наших целей.
iOS отмели по причине дороговизны на ровном месте (а также собственного слабого знакомства с огрызочными штучками).
Windows 8 выбрана после наблюдений за женой (у неё десктоп под Windows 7) и внучкой (она иногда копается в планшете под Windows 8) - у внучки получается более ловко.

В итоге выбрали 15" notebook ASUS - X55A:

clip_image001

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

Дополнили девайс беспроводной мышкой и недорогим, но весьма функциональным WiFi роутером - собственно, всё готово, уложились в $350.

Софт

Для входа используется account на Outlook.com, вход после загрузки настроил без запроса пароля. Админские права исключил, для управления настроил отдельный админский локальный account с паролем.

Восьмёрка, так восьмёрка - решил сделать основной упор на использование метрошных программ.

Для связи - Skype из Windows Store и Facebook в IE10. Accounts - те же, что для входа.

Для информации и развлечений - приложения из Store Ivi.ru, Дождь, Радио, Литрес, Кинопоиск, Twitter с настройками на чтение некоторых газет.

Погода - через "встроенную" программу "Погода", программа ТВ - на Яндексе в IE10. Для нормальной работы зарегистрировался на Яндекс.почте.

Для удалённого управления установил десктопного клиента TeamViewer с автоматической загрузкой. Установил для админского account'а несколько утилит - 7zip, Foxit reader, Far, Procexp, Autostart, Ccleaner.

"Внедрение"

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

Самым сложным оказалось научить пользоваться мышкой или тачпадом - попасть курсором в нужное место и нажать кнопку, чтоб курсор не упрыгнул… С клавиатурой тоже не легче - глаза разбегаются на сотне клавиш, да ещё нажатия с модификаторами… Представляю, что было бы в Windows 7 с её меню, двойными кликами, рамками и кнопками окон, прочими прелестями. Нам-то привычно, а вот новому человеку гарантировано отвращение надолго…

Пробовал в процессе обучения подсовывать 10" планшет с тачскрином, но он обучаемую не впечатлил - экран заметно меньше, а глаза уже не соколиные :-(

Итог

По прошествии двух недель после окончания очного обучения имеем достаточно уверенное владение скайпом (иногда, правда, приходится два раза вызывать - таймаут маленький, а матушка не успевает за это время ответить - то ли очки не сразу находятся, то ли мышка не туда попадает…) и лайки на фото внучки в фейсбуке (сама дошла, я про лайки не рассказывал).

Через TeamViewer несколько раз наблюдал достаточно уверенное хождение по разделам на ivi.ru в поисках фильма.

В общем, мероприятие можно считать удачным.

четверг, мая 02, 2013

Sharepoint и Windows Store - 4

Как, в общем-то, и ожидалось, прислали из магазина отлуп:

Нам не удалось сертифицировать SPExplorer для Магазина Windows, так как мы обнаружили проблему. Чтобы узнать, в чем дело, просмотрите отчет о сертификации с помощью инфопанели

Естественно, в этой “панели” рассказывается про использование “неправильного” API.

Последняя возможность соорудить, всё же, программку для работы с Sharepoint в Windows 8 – использование для получения данных REST-интерфейса (сервиса).

В магазине обнаруживается приложение “SharePoint REST Toolkit”, которое, правда, не соединяется с сервером SP 2010, но содержимое узлов SP 2013 показывает исправно. Написано приложение на jscript. На codeplex можно найти пример, как можно написать похожее приложение на CSharp, которое нацелено на работу с Sharepoint Online (в приложении используется лишь тот способ аутентификации, который нужен на SPOnline).

Собственно, доработать аутентификацию (учесть FBA и WinAuth) больших научных подвигов не требует – и вот, приложение соединяется с любыми (по крайней мере, доступными мне) серверами SP2010 и SP2013 и получает ответ на запрос к сервису /_vti_bin/ListData.svc (данные SP-списков). Ура!

Правда, довольно скоро выясняется, что в случае SP 2010 все радости этим и ограничиваются. В SP2013 способы REST-работы изменены радикально – используется сервис /_vti_bin/client.svc (/_api), который есть и в SP2010, но используется там только через CSOM. Собственно, тут и конец всей истории – программка для просмотра только списков мне лично не нужна (трудов – море, а толку – чуть), а для SP2013 написать полноценный SP-браузер, может, и можно (надеюсь, API позволяет), но для этого надо - ни больше, ни меньше – написать для REST-вызовов обёртку наподобие CSOM. Думаю, в следующей версии SharePoint такая обёртка появится. Ну, или изменятся отношения между подразделениями, занимающимися Sharepoint и “безопасностью” WinRT и мы увидим версию CSOM, пригодную для использования в “магазинных” программах для планшетов и телефонов.

Если, конечно, вся эта затея с WP-телефонами и Windows-планшетами до тех пор не помрёт тихой смертью…

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

вторник, апреля 09, 2013

Sharepoint и Windows Store - 3

Буквально через три дня после предыдущего поста на эту животрепещущую тему  обнаружилась прекрасная наводка от Mark Racley на решение проблемы использования CSOM-библиотек для подключения к удалённому серверу Sharepoint. Действительно, Windows Runtime Component с подключёнными SP-сборками выполняет подключение к ферме, запрашивает и отдаёт данные:

 image

Сборки использовались от Sharepoint 2013, 2010-е использовать невозможно из-за конфликта версий .NET (очень уж древней оказалась версия, использованная в SP-2010). Сам компонент стандартным образом подключается в проект для Windows Store:

image

Код для доступа к удалённым SP-узлам тот же, что в утилите SpfExplorer. Были некоторые сомнения относительно передачи и использования в CSOMWinRTComponent делегатов из SPExplorerCSOM Win8 (CS) (всё же, версии framework’ов, вроде бы, разные). Но всё обошлось, делегаты передаются и узлы деревьев благополучно рисуют.

Следующее возникшее сомнение – при выборе средств построения пользовательского интерфейса. Вариантов, собственно, два – C# + XAML или HTML + JS

При использовании C# нужно бороться с ужасной хренью в виде XAML с его жуткой моделью элементов интерфейса. "Стандарты" в виде студийных проектов предполагают использование MVVM с биндингом данных. В случае же "деревянных" данных, как в SP, слабо представляется, что и как там надо привязывать. Да и дерева там, собственно, нет, все советуют реализовывать его самостоятельно…

При использовании JS есть надежда, что борьбу с ним можно ослабить при использовании TypeScript, а строить дерево на HTML когда-то все умели… Правда, при внимательном рассмотрении выясняется, что и на HTML программы предлагается делать так же, как на XAML (через специфические атрибуты). Может, конечно, и "обычный" HTML пойдёт, но экспериментировать с этим как-то не сильно хочется…

В итоге, с учётом всех мнений, выбран вариант C# + XAML, дерево для вывода данных – собственного изготовления. После долгих кровопролитных сражений с XAML (о ходе и результатах сражений как-нибудь попозже в отдельных постах) получилась программка, пригодная для эксплуатации на планшете с использованием пальцетыканья. Нормально подключается к серверам SP-2010 и SP-2013 и выводит данные в виде дерева:

8. tree and buttons

Следующая, совсем отдельная задача – размещение программки в магазине Windows 8 (а другого официального способа распространения и нет, вроде бы). Здесь вовсе уж цирк – проверка в Студии на соответствие требованиям не проходит:

image

Собственно, уговорить разработчиков Sharepoint исправить ситуацию с использованием “не того” API (а список неправильных вызовов довольно длинный) я не могу, остаётся только удивляться, почему это некоторый вызов “не поддерживается для данного типа приложений”, если в программке он наверняка используется и вполне себе работает… Щас отправлю пакет, поглядим…

четверг, марта 28, 2013

Metro - бомба…

Обнаружилась программа-бомба, решающая практически все проблемы с Метро-приложениями в Windows 8 на десктопе с большими мониторами:

image

На картинке ниже - мой монитор (24", FullHD) с двумя программами Метро-стиля (клиенты ivi.ru и "ТВ Дождь"), обе работают одновременно, показывают видео. На фоне - браузер Maxthon и Visual Studio 2012, тоже работающие…

image

Можно даже под отладчиком программку таким образом запустить…

image

И вся эта радость всего за $5, а нам тут втирают рассказывают про большие научные достижения софтверного гиганта, обещающего “в середине года” дать возможность поделить экран пополам, чтоб запустить две программы…

воскресенье, марта 24, 2013

Hyper-V или VirtualBox - 2

Несколько месяцев назад перешёл на систему виртуальных машин под управлением Oracle VirtualBox вместо “родного” для Windows 8 Hyper-V. Всё шло хорошо, но недолго…

Начались приключения с версии VB 4.2.08 – установка на моей рабочей Win 8 не заканчивалась миром – процесс заканчивался только перезагрузкой (на практически пустой тестовой Win 8 всё проходило гладкой), после перезагрузки машины запускались и работали. С самой последней версией 4.2.10 такой фокус тоже удался, но при первом же запуске угробилась виртуалка с контроллером домена – запускается, начинает операцию chkdsk, перезапускается, снова начинает тестирование… (в списке изменений для версии что-то упоминается про работу с VHD-файлами).

В общем, похоже, что попадание продуктов в руки Oracle заканчивается для них (продуктов, а не оракулов) плачевно… Ну, на нас, пользователей продуктов, всем начхать, это и так понятно… Steaming mad

Что ж, VirtualBox, давайдосвиданья, буду дальше жить с Hyper-V, которую, может, тоже когда-то усовершенствуют в смысле “для жизни”. Была, собственно, надежда досидеть до лета, до обещанного “большого обновления” Windows 8, но, знать, не судьба.

Одна радость, что все виртуалки от VB без капризов заработали под Hyper-V, да и выход из hibernate не такой уж и долгий: при обычной загрузке памяти (1-2 VM общим размером 2-6 ГБ) – ок. 15 сек., при максимальной загрузке (16 Гб) – ок. 25 сек.  Turtle

вторник, марта 19, 2013

Очередной сюрприз, от ИЕ10

Пожаловался юзер, что после недавних (март 2013) ИЕ10 в Win7 неправильно показывает пикер в списках Шарепойнтах (не отображается скроллер и кнопки)

У меня нет Win7, но вот как оно выглядит в ИЕ10 в консоли сервера Win2008R2 (аналог Win7 в некотором смысле):

А так - в браузере ИЕ10 на моей десктопной Win8:

А так - в моём же браузере Iron (аналог Хрома):

Браузер Maxthon 4 с переключением движков (ИЕшный и WebKit) в обоих движках показывает форму правильно. Уж не знаю, как они используют ИЕшный движок, но если как-то вшивают, а не обращаются к актуальной версии, то это означает, что произошло вредительство в последнем обновлении клиентских ОС (браузер выпущен до обновлений).

Мораль - очередное спасибо благодетелям за удачные обновления “передовых” клиентских систем…

Не впервой…

Из Windows LiveWriter в tumblr

Только копированием Steaming mad

Трудно, что ли, про API договориться…

image

пятница, февраля 15, 2013

Кнопка Start vs Start Screen

Всё же, в Windows 8 на десктопе с монитором 24” запустить Excel удобнее "по-старому", через кнопку "Старт" и меню программ:

clip_image001

По новому "стартовому экрану" нужную плитку разыскивать заметно дольше:

clip_image002

Жалко, новые программы (Metro Style) не догадались в меню включить (а они таки появляются, с полезными функциями…).

Использую “кнопочную” программку Start Menu X, если что.

вторник, февраля 12, 2013

WinFoms or WPF

Есть у меня утилита для работы с локальными или удалёнными серверами Шарепойнт, которую переделываю/усовершенствую уже много лет. Решил на этот раз "усовершенствовать" интерфейс программки.

Собственно, в нынешнем интерфейсе на WinForms практически всё устраивает - две панели, дерево, менюшки - контекстные и общие - особенно ничего и не нужно больше - программка-то для админского использования.

Правда, после рефакторинга прямоугольники для отметки узлов стали почему-то изображаться пунктиром:

clip_image001

Почему - понять не удалось, да и не очень-то хотелось…

В WPF, конечно, изобразительные возможности покруче, поэтому решил попробовать. Студию открыл, проект сделал, стал пытаться воспроизвести нынешний интерфейс…

Практически удалось - и две панели с изменением размеров, и деревья в них, и выращивать деревья можно программно… Но возни оказалось побольше, чем в WinForms: элементы во второй (правой) панели (ColumnDefinition в Grid) базируются относительно окна и им приходится приписывать отрицательный Margin. Передвижение GridSplitter требует неслабой обработки - все эти смещения пересчитывать… Может, я для панелей неправильный способ реализации выбрал, но ничего лучше Студия почему-то не предложила, а копаться в гуглях ради такой мелочи (при постройке WinFoms-интерфейса точно нигде не копался) - не стану, это должно быть очевидным…

Собственно, на этом с "новым" интерфейсом и закончил - возня очевидна и в больших количествах, а выгод не видно совсем.

воскресенье, февраля 10, 2013

Sharepoint и Windows Store - 2

Как-то смешно выглядит невозможность сделать приложение для WinRT, работающее с Шарепойнтом – прямо из серии “такого не может быть…”. Должна же быть какая-то возможность…
При рассматривании SDK попадается на глаза “ECMAScript Class Library” – библиотека для работы с CSOM на языке ECMAScript (JavaScript, JScript). Отлично, щас попользуемся…
Раскопки на MSDN показывают, что программу для WinRT тоже можно соорудить на JavaScript (+ HTML5, CSS 3 etc). Совсем здорово, начинаем пробовать практически, тем более, даже книжка бесплатная на эту тему существует.
Делаем по книжке, примеры работают, начинаем смотреть, как оно вообще устроено, и …приходим в ужас: написать руками  код на JScript длиннее 50 строк и сложнее вызова alert(“Hello!”) можно только после двух месяцев тренировок…
Выходим из прострации, обращаемся к Гуглю и выясняем, что для облегчения жизни существует язык TypeScript – масштабируемый, с типизацией, поддерживается MS. Ура, мы спасены! Тем более, к языку приложено довольно приличное приложение для WinRT. Ну, немного кривоватое, но к мелочам зачем же цепляться…
Делаем новое приложение, добавляем туда js-скрипты из папок Шарепойнта, в файле script.ts пишем долгожданное
clientContext = SP.ClientContext.get_current();
На этом эксперименты с TypeScript заканчиваем: выясняется, что JS-библиотеки языком TypeScript не воспринимаются, а библиотек с определениями типов (*.d.ts-файлов) никто пока не сделал и в общее пользование не предоставил.
При попытках продолжить эксперименты уже на JavaScript выясняем, что “ECMAScript Class Library” вовсе не предназначена для работы вне страниц, полученных с сервера Sharepoint: в отличие от C#-библиотеки, js-объект SP.ClientContext не имеет средств для логина пользователя и не позволяет коннектиться к произвольному УРЛ. И это не только в версии 2010, но и в новейшей 2013-й… Можно, наверное, эти библиотеки дополнить соответствующим функционалом – но это уже другая песня.
Остаётся, конечно, ещё одна возможность – REST-сервисы. Но что-то в 2010-й версии Шарепойнта лично у меня с ними отношения не сложились, а 2013-й Sharepoint пока не сильно интересует…
В общем, подождём развития событий. А WinRT пока поживёт без Шарепойнта (особенно, в версии для ARM).

четверг, февраля 07, 2013

Sharepoint и Windows Store

Прочитал книжку Сергея Пугачёва с соавторами и вдохновился соорудить метрошную программку для просмотра Шарепойнт-сайтов. С использованием клиентской модели, которую немного освоил…
Естественно, облом случился - Шарепойнт-то на .NET 3.5, а проект строится на 5.0.5 и никаких переключений версий не предполагает.

По идее, надо пробовать сборки от 2013-го Шарепойнта… Как они, любопытно, будут работать с 2010-м Шарепойнтом?  В принципе, должно быть без разницы…

C 2013-ми сборками - тоже облом.
В тексте программки написал:
 using Microsoft.SharePoint.Client;
private Web web = null;

При компиляции получаю сообщение:
Ошибка - Не удаётся найти тип System.ComponentModel.MarshalByValueComponent в модуле System.dll.       

При расследовании выясняется, что сборка System.dll, подключённая к проекту (подключение называется ".NET for Windows Store apps"), какая-то урезанная и помянутого типа там, и вправду, нет, а подключить нормальную сборку не дают - её, дескать, и без вас подключили… И удалить то, что подключено, не предполагается…

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

среда, февраля 06, 2013

Кривые списки и модели данных

При доработке утилиты SpfExplorer столкнулся со списком, при обращении к Title которого вылетает исключение с диковинным сообщением:

"Недопустимое имя файла.

Нельзя использовать указанное имя файла. Это имя существующего файла или папки, либо у вас отсутствует разрешение на доступ к этому файлу."

Как такое чудо сотворили, не признаются…

 

В программке с использованием серверной модели (OM) для отрисовки узлов со списками использовался Linq-код:

 

clip_image001

 

Этот код при наличии помянутого чудо-списка падал без генерации узлов, ещё на выборке элементов…

 

Для обхода пришлось вернуться к "старому доброму" циклу:

 

clip_image002

 

с обработкой ошибок при доступе к данным каждого списка…

 

При использовании клиентской модели (CSOM) для получения коллекции списков используем код

 

clip_image003

 

Код падает при наличии чудо-списка, коллекция списков оказывается неинициализированной.

 

Попытка эмуляции (размер коллекции-то неизвестен…) второй возможности из OM тоже не удаётся:

 

clip_image004

 

Этот код падает до запроса данных, ещё на строке var list = lists[ii];

 

Остаётся только посоветовать обратиться к администратору для исправления ошибок…

 

Конечно, есть ещё возможность попытаться обращаться через веб-сервисы (а CSOM разве что-то другое делает?), сильно будет надо - сделаем…

среда, января 23, 2013

F#, очередная серия. Жидкая.

При очередной попытке сделать что-то полезное на F# наткнулся на слабоватые способности компилятора в деле вывода типов. В программке на C# был вот такой цикл:

image

На F# цикл превратился вот в какой:

image

В лямбде fun (us:SPUser), как оказалось, указывать тип обязательно - без этого компилятор жидко падает… При этом “ошибки” распространяются довольно далеко по тексту программы – ну, не умеет компилятор остановиться на одной ошибке, обязательно надо всю гирлянду обозначить…

Нда…

Пошёл осваивать монады, бум на C# функциональщиной заниматься…

суббота, декабря 29, 2012

Hyper-V features in VirtualBox

Одна из понравившихся вещей в Hyper-V, которые хотелось бы иметь в VirtualBox после удаления Hyper-V - автоматическое сохранение состояния виртуальных машин при перезагрузке или выключении.

Отсутствие такой feature при непрекращающейся любви разработчиков Windows к перезагрузкам при установке обновлений (и участившихся выпусках самих обновлений) очень угнетает. Однажды даже забыл сохранить виртуалку с контроллером домена и после загрузки пришлось её восстанавливать из "снимка"…

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

Вот PS-скрипт, который сохраняет все работающие виртуальные машины и выполняет перезагрузку или выключение компьютера:

clip_image001

"Побочный" результат работы скрипта - список работающих виртуалок в текстовом файле. Этот список можно использовать для реализации второй недостающей feature - восстановления ранее работавших виртуальных машин.

Вот соответствующий скрипт:

clip_image002

Остаётся сделать на рабочем столе ярлыки для запуска этих скриптов и использовать при необходимости перезагрузиться и при запуске машин после перезагрузки.

пятница, декабря 28, 2012

Бойся Try/Catch…

Вот, только что наткнулся: конструкция try/catch в PS v.2 (которая с Шарепойнтом 2010 только и работает) срабатывает в зависимости от типа ошибки - некоторые вовсе не перехватывает.

Пример: конструкция try{2/0}catch{"низя!"} вываливает сообщение в консоль:

clip_image001

PS v.3 исполняет как надо:

clip_image002

Выясняется, правда, что если делить не на нуль, а на переменную, содержащую нуль, то этот примерчик работает и во второй версии:

clip_image003

С другой стороны, наткнулся-то я на такое смешное поведение Catch в реальном скрипте при попытке в блоке Try записать данные в системный лог:

Write-EventLog -LogName $eventLogName -Source $eventLogSourceName ...

Если переменная $eventLogSourceName пустая, то в Catch ловится ошибка с сообщением "Cannot validate argument on parameter 'Source'. The argument is null or empty."

А если там неверное значение, то исключение не ловится и сообщение пишется в консоль:

clip_image004

Как с этим бороться? Не перечислять же все известные в природе исключения? Тем более, что некоторые всё равно не перехватываются…

Нашёлся способ в виде конструкции Trap - нечто наподобие On Error в бейсике.

Ловит все ошибки, но особо с действиями над этими ошибками не развернёшься. В файл на диске ошибки записать можно (чего я, собственно, и добивался), а вот собрать тексты разных ошибок, чтобы потом их разом записать в лог, как обычно в CS делаю - вигвам.

Вот примерчик:

$err="Error: "

trap$err += $_
$err
Out-File -FilePath "errors.log" -Encoding "utf8" -Append -InputObject $_.Exception.Message
continue }

$dvdr = 0
1/$dvdr
NonsenseString 
2+3
$err #здесь та же строка "Error: " :(

Здесь выполняются все действия, а сообщения об ошибках выводятся в файл:


Попытка деления на нуль.
Имя "NonsenseString" не распознано как имя командлета, функции, файла скрипта или выполняемой программы.


Не фонтан, конечно, но, всё же, лучше, чем просто пропадающее сообщение (пускай даже код после "кривых" Catch иногда и выполняется нормально)…

пятница, декабря 21, 2012

Троянский конь…

С декабрьским пакетом обновлений установился Windows Management Framework 3.0 for Windows Server. Спасибо, конечно, но можно было бы и предупредить, что при попытке воспользоваться “Командной консолью Sharepoint 2010” получим сообщение “The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered.”

Конечно, новый PS работает под .NET 4.0, а Sharepoint – под 3.5…

Хорошо хоть, что решается проблемка простым удалением этого “обновления”. Но опять перезагрузка… А на сервере люди…

суббота, декабря 08, 2012

Студийный предел

Два или три дня копался с рефакторингом одного своего решения – выделял классы в отдельные сборки, добавлял к решению новые проекты, удалял ненужные, файлы с исходниками перетаскивал из одной папки в другую. При  этом не всё делалось средствами VS 2012, активно в операциях использовался ФАР. Один раз за это время была перезагрузка компьютера (точнее, нажимал на Reset по причине зависания системы).

В конце эпопеи решил сделать возврат (checkin) – использую TFS на http://visualstudio.com – и фсё, узнал предел возможностей: не шмогла Студия сохранить моё произведение. То каких-то файлов на сервере не обнаруживает (да и откуда им взяться там, если они новые), то, наоборот, говорит, что файл .sln там уже есть (конечно, есть, решение-то уже шесть лет существует)… Сражение кончилось тем, что я тоже признал получившееся новым решением и сохранил его в другой папке.

И что теперь, каждые пять минут checkin делать?
Или это от того, что недавно для Студии update 1 установил? Update 2 это исправит? Или усугубит?

суббота, декабря 01, 2012

Жизнь ли без Microsoft ?

Сегодня наш сельский провайдер устроил проверку, есть ли жизнь без Microsoft – взял, и забанил все MS-сайты: hotmail.com, skydrive.com и все остальные, даже msdn.microsoft.com, часа три экспериментировал. Зачем он это сделал – другой вопрос, думаю, никогда не расскажут.

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

Самое неприятное, что при этом приключении выяснилось – на компьютер с Windows 8 невозможно зайти с MS-учёткой, сервера-то недоступны. В принципе, может так получиться, что на компьютере имеется только одна эта учётка – тогда привет, не попадёшь. А ведь при установке этот вариант аутентификации является основным…
И дать бы по башке MS-программерам за такой сюрпризик – с доменными учётными данными, ведь, можно залогиниться и без доступа к контроллеру домена…

пятница, ноября 30, 2012

SQL фокус

Несколько часов сражался с проблемой - не коннектится программка, работающая с SQL Server 2008 (10.50.4000), к моему локальному SQL Server 2012 (11.0.3000): рассказывает про “error: 26 - Error Locating Server/Instance Specified”. Google советует покопаться в настройках сети, SQL Server, а также проверить, существует ли что-то на свете вообще...

Все другие программы (Sharepoint'ы из виртуалок, например) нормально работают, а эта локальная программка - никак не желает (соединение в ней организовано через использование ConnectionString).
Стали уже закрадываться мысли, не поставить ли 2008-й сервер...

До установки решил порыться в кодах программы (она не моя и, в принципе, работает – чего же чужие коды изучать…) и обнаружилось, что строка соединения передаётся в класс, наследующий System.Data.Linq.DataContext, в конструкторе которого и наблюдается падение с “ошибкой 26”. Мда… Thumbs down

К счастью, у класса оказался другой конструктор, принимающий заранее открытое соединение, которое и было создано нехитрым кодом:
var connection = new SqlConnection(CONNECTION_String);
connection.Open();

Подсунул эту connection классу вместо CONNECTION_String - программка заработала.
Фокус-покус, едрёныть... Secret telling smile

Кстати, похожую историю можно наблюдать при соединении с SQL Server 2012 по “строке соединения” в SQL-манагере:

image

При  вводе тех же данных (имя/пароль) в поля формы “Вход” сервер открывается нормально. Steaming mad

Technorati Tags:

пятница, ноября 23, 2012

Hyper-V или VirtualBox

 В Win7 использовал для разработки исключительно VirtualBox (VB). В самом начале были ещё виртуалки и под MS VirtualPC, но с приходом необходимости заниматься Sharepoint 2010 MS-примочка отпала - не поддерживает она x64-гостевые системы.
При переходе на Win8 одним из основных аргументов в её пользу было наличие встроенного гипервизора Hyper-V. И действительно гипервизор работает (на верхней версии ОС), все заявленные функции исполняет. Ура!
 
В процессе жизни начинают проявляться недостатки виртуальных машин под Hyper-V:
  1. Периодически при запуске заявляет, что виртуализация на компьютере не включена в БИОС, хотя включена. После перезагрузки обычно вылечивается. На данный момент примерно месяц такого не наблюдается - возможно, в одном из исправлений починилось.
  2. Окно виртуальной машины имеет фиксированный набор размеров - этого достаточно для настройки машины админом, для работы на машине (разработка в VS, настройки интерфейса в браузере и т.д.) приходится пользоваться клиентом RDP.
  3. Самое обидное - при установке Hyper-V отключается режим hybrid sleep, к которому привык в Win7, как к родному…  Даже, возможно, в RP-версии Win8 этот режим работал, не мог я его отсутствия не заметить… Собственно, привело это к весьма неприятным последствиям
 
 К остальному как-то привыкнуть можно, но вот отсутствие hybrid sleep весьма угнетает - привык к нему, а выход из hibernate происходит раздражающе долго и нудно, что никак не способствует экономии электроэнергии.
 
Сегодня решил взглянуть, как на Win8 работает старый знакомый VirtualBox. Оказалось, что за время моих упражнений с Win8 вышли две новые версии, впрочем, без каких-либо описанных радикальных изменений.
VirtualBox-4.2.4 на домашней версии Win8 установился и запустился без кашля и чиханий, старые виртуалки (XP и Windows Server 2008) запустились и обновились тоже без проблем.
Никаких тебе RDP не нужно - хоть настраивай, хоть работай, к услугам несколько вариантов в меню "Вид" машины, и hybrid sleep на месте, во всей своей мощи и красе!
Как водится, чего-то и не хватает по сравнению с Hyper-V:
  1. Нет у VB ничего похожего на опции "сохранять состояние и запускать вновь" для машин под Hyper-V. Недостаток несколько компенсируется тем, что попытка перезагрузки/выключения при работающей виртуальной машине блокируется системой - даже кнопку "делать всё равно..." не выводит - машину не испортишь...
  2. Нет возможности динамического выделения памяти для машины. Правда, выяснилось, что Sharepoint 2013, под который, собственно, и нужно выделять много памяти, не поддерживает динамическую память...
 
Что ж, осталось проверить, как в VB чувствует себя Server 2012 и Sharepoint 2013, да можно и вернуться обратно к привычному образу жизни с VB и hybrid sleep...
 
Technorati Tags: ,

суббота, октября 27, 2012

Excel-кошмар

На картинке – процесс открытия небольшого – 434065 байт – .xlsx-файла на моём десктопе с четырёхядерным процессором.

 

clip_image001

 

 

Открывающийся файл взят отсюда - https://www.facebook.com/alex.dybenko/posts/10151477095888574?comment_id=29108109&offset=0&total_comments=116 (там много ещё поучительного, в той дискуссии).

 

Сразу после загрузки файл не открывается вообще - заблокирован бдительной ОС (разблокируется в "свойствах" файла).

После разблокировки открывался примерно 4 минуты - до состояния, когда стало можно что-то делать с данными…

Поворот текста в столбце - примерно 30 сек., на 90⁰ можно повернуть за 2 раза…

 

Всё – новейшее, со всеми обновлениями: Windows 8 Pro x64, Excel 2013 x86.

Мда… 

пятница, октября 26, 2012

Метровые программы

Очень сейчас активно, особенно после вчерашнего праздника и открытия Windows-магазина,  пропагандируется использование и изготовление приложений для Windows 8 с новым интерфейсом (по-старому – Metro). Иногда они забавно выглядят, есть уже и полезные…
Но вот есть у них два сразу бросающихся в глаза недостатка, которые не могут не беспокоить.
  1. Metro-программы устанавливаются без спросу в папку на системном диске (в качестве системного у меня используется SSD-диск 110 Гб, да и в требованиях к оборудованию нет упоминаний про неограниченный системный раздел) - C:\Program Files\WindowsApps\<папка программы>  (эта папка не видна в Explorer'е, но про неё можно узнать в Process Explorer и ФАРе). Кроме того, там же сохраняются и предыдущие версии программ (не всех, правда, а только некоторых от MS) после обновлений (зачем, понять невозможно – нет ведь средств отката на предыдущую версию…) – а это уже не шутки (накопилось уже больше 500 Мб таких  “резервов” при 3-4 десятках установленных приложения), опыт Windows 7 был…
  2. Данные Metro-программ так же без спросу сваливаются в профиль пользователя  - C:\Users\<user>\AppData\Local\Packages\<папка программы> . Простые способы перенаправить куда-то эти данные (при помощи ссылок на папки на других дисках) приводят только к потере работоспособности системы для юзера, над которым проводится эксперимент - помогает только удаление профиля и сооружение нового при очередном логине.
Сейчас их, этих программ, конечно, мало и размер их сравнительно невелик, но если, вдруг, их количество сильно вырастет и они станут посложнее и объёмнее, то можно будет получить сообщение о переполнении системного раздела. Или не станут и не вырастет?
А с данными может стать туго уже очень скоро – напр., папка программки ivi.ru (сервис просмотра фильмов) у меня уже  имеет размер около 3 Гб. И Evernote с Onenote тоже ведь притащат всё из облаков “для ускорения работы”…
А вот любопытно, что будет на планшетках – там программы-то те же самые, а места на дисках совсем мало… Nyah-Nyah

23.11.2012:
Пару дней назад обнаружилась по-настоящему полезная программка такой конструкции.
Все прочие пока что из разряда "любопытно взглянуть".

четверг, октября 25, 2012

Office 2013 RTM, установка

24 октября 2012 г. выложили на MSDN дистрибутив.

По-правде, размер дистрибутива несколько смущает: Devil

clip_image001

Попробую x64 поставить, там размер нормальный

clip_image002

Поставил. Правда, пришлось удалить всё 32-битное (Office 2010, SPD 2010), в т.ч. и preview 2013. Ещё зачем-то вымогнула, чтоб закрыл Chrome…

Но после установки (и, естественно, перезагрузки компа) OneNote открылась ровно на той странице (и даже строчке), где закрылась. Умеют же, когда захотят…

В Ворде также все настройки сохранились, дополнительно пропал глюк с открытием файла из Шарепойнта (для этого, собственно, был установлен Word 2010). Ура.

"Ура" заканчивается при попытке включить табличный режим для SP-списка:

clip_image003

При этом в ИЕ много всяких x64-надстроек:

clip_image004

В установщике Офиса средства работы с SP включены:

clip_image005

Никакие ухищрения типа запуска 64-разрядного ИЕ, восстановления установки Офиса и т.п. результата не дают.

Что ж, как нынче принято говорить, давай, до свиданья. По-моему, это уже третий Офис, где x64-версию использовать практически невозможно. Упорные…

Придётся использовать адскую x86-версию.

Установилась без вымогательства перезагрузки - уже что-то дьявольское… Devil

Несколько мониторов - 2

 

Продолжение истории

Добавил видеокарту NVIDIA GT 610 и подключил к ней телевизор. Теперь не надо ничего переключать, достаточно включить телик.
Ура!

Но корпорация называлась бы как-то по-другому, если бы было так просто. Мониторы пришлось расположить вот так:

image

Если расположить телевизор по горизонтали слева от основного монитора, то при расположении таскбара слева и при включённой панели "Рабочий стол" (ну, привык я так, удобнее всего для меня) содержимое этой панели выводится на телевизоре (!!!???)

понедельник, сентября 10, 2012

Бесплатные антивирусы и Windows 8

Повозился немного с антивирусами (на MS надейся…), бесплатными и известными по более ранним упражнениям. Результат – здесь.
Technorati Tags: ,

пятница, августа 24, 2012

Visual фокус-покус

Построение проекта в Windows 8 RP при помощи RC-версии Студии 2012

clip_image001

проходит чисто и гладко:

1>------ Построение начато: проект: Testo, Конфигурация: Debug Any CPU ------1> Testo -> …\Testo\bin\Debug\Testo.exe
========== Построение: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========
Build Summary
-------------
00:00.524 - Success - Debug Any CPU - Testo\Testo.csproj
Total build time: 00:00.000
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

То же действие в Windows 8 RTM при помощи RTM-версии Студии

clip_image002

даёт совсем другой результат:

1>------ Построение начато: проект: Testo, Конфигурация: Debug Any CPU ------
1>CSC : error CS1548: Сбой криптографических служб при создании подписи сборки "…\Testo\obj\Debug\Testo.exe" -- "Ошибка подписания сборки -- Отказано в доступе. "
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Build Summary
-------------
00:00.285 - Failed - Debug Any CPU - Testo\Testo.csproj
Total build time: 00:00.000
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Как говорится - Приехали, здрасьте…

Расследование показывает, что Студию надо запускать под администратором - тогда всё проходит.

Помнится, что в VS 2010 тоже иконка для запуска была настроена на запуск под админом, в версии 2012 такая необходимость, как казалось, отпала. Теперь поставлю обратно:

clip_image003

Это что, русская народная забава - бег по граблям - становится популярной по всему миру? Ура, так победим…

среда, августа 22, 2012

Программы для Windows 8

    После установки системы на "стартовом экране" обнаруживается несколько программ с метро-интерфейсом (или супер-пупер модерновым, как его теперь велено называть). Через одну из них - Магазин – установил и попробовал ещё несколько, показавшихся забавными или даже полезными.

    Оказались бесполезными или нерабочими:

    1. Новости - никак не реагирует на настройки
    2. Камера - вовсе нельзя использовать, как она сама признаётся.
    3. Музыка - коллекцию не видит, при указании конкретного файла - не воспроизводит.
    4. Видео - коллекцию видит, но файлы не воспроизводит (зависает на этапе "Запуск…", на плитке показывает, что файл воспроизводится).
    5. Evernote - никаких настроек, куда-то загружает всё с сервера… Какая-то недоделка.
    6. Photo Monkey - пустой экран с обезьяной и никакой реакции на действия.

    Оказались вполне пригодными для использования:

    1. Погода
    2. Погода AccuWeather.com
    3. Спорт
    4. Сообщения (замена Live Messenger ? Только он и сам уже почти помер…)
    5. Bing - поисковик, выдача забавно оформлена.
    6. Путешествия - не поехать, так поглазеть…
    7. QuickNote - аналог системных десктопных "Записок"
    8. Super Calculator
    9. Calc – тоже калькулятор
    10. KoAlarm – таймеры и будильники
    11. Microsoft Mahjong – красиво…

    Ограниченно годные (можно и выкинуть, если есть нормальные аналоги):

    1. Почта (только Hotmail, но веб-клиент удобнее)
    2. SkyDrive (та же функциональность, что и при доступе через браузер, через который привычней).
    3. Фотографии (желает показывать только "облачные" файлы, локальных - при настроенной библиотеке изображений - не видит)
    4. Tweetro (нет поиска по тегам с неанглийскими буквами - авторам сообщал уже давно)
    5. MetroTwit (подключается только одна учётка, картинки не показывает)
    6. Rechner (калькулятор, но функций нет, только арифметика…)
    7. Microsoft Solitaire Collection (на некоторых игрушках нет настроек - забыли, мышью управляется тяжеловато)
    8. All My Storage (всё обещанное делает, только не очень там объединяются хранилища… Не очень ясно, зачем вообще программка сделана.).
    9. Musixmatch (должна показывать стихи от музыки, но говорит, что моя библиотека пустая и показывает какие-то топы России, США и World).
    10. FineReader Touch (текст со скана распознался погано, при попытке ввести документ с камеры падает)

    Не удалось оценить работоспособность:

    1. ivi.ru – список фильмов выводит, страницы фильмов открываются, сами фильмы не воспроизводится (на андроидном планшете воспроизведение запускается только в плохом качестве и всё время повисает) - похоже, сам сервис плохо работает…
    2. Free Books - книг много, загружаются и показываются, но …только по-английски.

Итог - маловато будет, где-то через полгода надо будет ещё раз на магазинчик посмотреть…

понедельник, августа 20, 2012

Несколько мониторов

Подключил к компьютеру ещё один монитор и теперь у меня их три - два монитора 24" и телевизор 42". Мониторы стоят на столе - для работы, телевизор - в четырёх-пяти метрах, смотреть кино.

Подключены все к выходам встроенного в процессор Intel i7 видео через разъёмы на MB Asus P8Z68-V LX: телевизор - через HDMI, мониторы - через VGA и DVI.

Всё работает, для жизни и работы больше пока ничего не нужно… Одно плохо - не умеет Windows работать с тремя мониторами, только с двумя (да и то не очень чтобы здорово…). Спасибо, хоть Интель приложила софт для настройки видео, при помощи которого можно довольно оперативно выбрать нужную пару мониторов:

clip_image001

Переключать при помощи "Панели управления" устанешь:

clip_image002

Одно утешает, что не только Windows не умеет с тремя мониторами…

А интересно, что будет, если видеокарту добавить и один из мониторов к ней подключить?

пятница, августа 17, 2012

Windows 8 или ServicePack-1, продолжение 2

Начало истории здесь, продолжение – здесь.

Пришло 15 августа и на MSDN выложили обещанные дистрибутивы – Windows 8 и VS 2012.

Описание дальнейших приключений – в OneNote. Live.

среда, августа 15, 2012

Шутка?

Давно уже такого не было: после установки больше двух десятков обновлений на Windows 7 x64 и перезагрузки системы вылезло оповещение о ещё одном "важном" обновлении. Установил (успешно) - оповещение вылезло снова. Снова установил - и снова вылезло...
Из любопытства перезагрузился - снова то же оповещение... Установилось 4 раза (дальше надоело, заблокировал), в протоколе обновлений так и торчат 4 строчки об успешной установке одной и той же заплатки.
Напоследок (завтра, вроде бы, должны начать новую ОСь раздавать) кто-то пошутить решил, похоже...

понедельник, августа 06, 2012

SPFExplorer 2010 с клиентской моделью

Модифицировал старую свою утилиту для работы с объектами Sharepoint 2010 на предмет работы не только в консоли сервера, но и на удалённом компьютере. Собственно, по работе понадобилось сравнить структуру и свойства разных ферм, что удобнее (привык как-то уже…) делать в соседних окошках в “деревянном” виде.
Для обеспечения удалённой работы с Шарепойнтом использовал клиентскую объектную модель (сборки Microsoft.SharePoint.Client и Microsoft.SharePoint.Client.Runtime), функциональность утилиты относительно “удалённых” объектов ограничил только просмотром структуры и свойств, т.к. выполнение каких-либо модификаций требует дополнительных исследований, затраты на которые вряд ли когда окупятся (лично мне хватает быстрого перехода к странице, где можно сделать модификацию стандартным образом). При большой нужде можно написать и соответствующие плагины, интерфейс открыт.
Описание и полный набор файлов утилиты (включая “опасные” плагины удаления и копирования) выложил на гугле-странице (сайт на officelive.com погибПлачущая рожица, потому как благодетелю стало жалко ранее обещанных пожизненно бесплатных ресурсов, которые оказались даже лучше, чем новейший Office365).
Теперь подождём до переоснащения оборудования новыми Осями (Windows 8 и Windows Server 2012) и Студией и можно начинать адаптацию утилиты к использованию с новым Шарепойнтом, несмотря на многочисленные восторженные всхлипы по его поводу. Всё равно же когда-то он станет использоваться…
Technorati Теги: