среда, марта 14, 2012

MS SQL Server - 2

Как и предполагал, удаляться текущая версия - 2008 r2 - не пожелала.

Новая (русский дистрибутив) при установке выдаёт вот такое диковинное сообщение:

------------------------------
Произошла следующая ошибка:
Программа установки обнаружила непредвиденную ошибку при установке данного пакета. Возможно, она вызвана неполадками в этом пакете. Код ошибки 2203.
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.2100.60&EvtType=0xDF039760%25401201%25401
------------------------------

Если щёлкнуть по ссылке, там говорят – sorry, Вас тут не стояло с вашей чепухой…

Потом ещё куча разных похожих сообщений – и превед! – сервер не запускается… Пламенный привет

Попытки подействовать на конструкцию путём доустановки компонентов и запуска “исправления” ни к чему хорошему не привели. По ходу дела выяснилось забавное - в русский дистрибутив засунули английский компонент Reporting Services. Шутники, бля…

Но надо отдать должное – удаление прошло достаточно быстро и гладко. Если не считать оставленного мусора в реестре – ну, не барское это дело, за собой прибирать.

В общем, пускай лежит, будет новая ОС, будем полностью переустанавливаться (upgrade до #win8 тоже не очень получился), тогда и новый SQL Server установим (надеюсь).

понедельник, марта 12, 2012

MS SQL Server…

Выпустили новую версию продукта и выложили для подписчиков, не дожидаясь праздника “запуска”, назначенного на 1 апреля (ага, кто-то там с хорошим чувством юмора работает – из Одессы, наверное…).

В состав дистрибутива входит Upgrade Advisor, который рассказал, что всё, вроде бы, ничего, upgrade текущей версии (2008 R2) сделать можно, за исключением языка и Reporting Services, с которым, сервисом, надо что-то делать средствами того дистрибутива, из которого ставилась текущая версия.

Мастер исправлений текущей версии сдался практически сразу – не удалось ему, видите ли, получить версию продукта с неким ИД’ом… Что это за “мастер”, что от такой малости откидывается (и даже отладить его предлагает) – у тебя, урода, под руками целый дистрибутив, установи, гнида, версию оттуда. Или выброси этот “продукт” к беням…

В общем, просматривается только вариант от Лужкова – upgrade с предварительным сносом. Да ещё и неизвестно, получится ли снос без использования разных железяк типа лома…

А с языком - особое спасибо разработчикам, особенно с учётом того, что год нынче уже не 1976, а вовсе 2012-й. Какая, на хрен, разница моим данным, какой язык у всяких окружающих их примочек? Мало того, что у них версии другие, они ещё и в другие папки ставятся. Что за дятлы в этой команде, интересно? Даже смешнее Шарепойнта получается. А код у них, интересно, такой же весёлый, как у Шарепойнт-индусов?

В общем, дистрибутив растёт (уже на простой DVD не влезет), а глупость никуда не девается… Не зря на первое апреля Launch назначили, не случайно…

суббота, марта 03, 2012

#win8, упражнение третье.

После провала попытки получить рабочую установку #win8 преобразованием рабочей установки #win7, было решено посмотреть, что можно получить методом установки нужных программ на “чистую” установку ОС.

Выяснилось, что разные вспомогательные вещи типа архиваторов (7-zip), антивирусов (clamWin), тестовых утилит (procexp, siv, autorun и т.д.) работают точно так же, как в #win7. Что радует, без каких-либо перенастроек заработал FAR v.3.0. Собственно, в итоге получилась рабочая среда, к которой привык уже и менять которую вовсе неинтересно.

Хуже оказалось с “углублённой” проверкой работы Hyper-V, которая так понравилась при выполнении первого упражнения. Планировалось запустить виртуальную машину (VM) с установленным OSS 2007 под Windows Server 2008? использующуюся сейчас под VirtualBox (в этой же машине установлен SQL Server и VS 2010. Выяснилось, что виртуальные машины (ни новая, ни работавшая ранее с XP) не запускаются с сообщением о неработающем гипервизоре и советом проверить, соответствует ли мой компьютер требованиям и имеет ли он включённые средства виртуализации… С чего бы за два дня средства эти куда-то подевались? Средства оказались все на месте, а вот переустановка Hyper-V помогла – виртуалки запустились. Правда, для этого потребовалось две перезагрузки (и это после обещаний существенно снизить количество reboot’ов). Схожу с ума от злости 

Однако “углублённой” проверки не получилось – VM не сумела прочитать файлы виртуальных дисков и загрузиться с них. С другой стороны, поцедура генерации нового виртуального диска эти файлы вполне прочитала и начала из них копировать данные. Однако скорость этого копирования весьма мала, намного меньше скорости копирования файлов. Времени, которое потребовалось на это копирование (точнее, всего на треть одного из двух файлов), хватило на оценку результатов экспериментов с #win8 и принятие решения эти эксперименты (а с ними и копирование) приостановить до выхода более устойчивого релиза #win8 (раньше это называлось “beta2” или “release candidat”). Нынешняя моя “связка” из Windows 7 sp1 и VirtualBox v.4.1.8 работает вполне устойчиво и “потребности удовлетворяет”.

Но загружается система быстро, особенно из состояния sleep или hibernate. Жалко, что пока попользоваться не получится…

Technorati Теги:

пятница, марта 02, 2012

#win8, упражнение второе, посложнее.

Первое #win8-упражнение было сравнительно простым и успешным. Второе упражнение (наверное, в состоянии эйфории от результатов первого Смущенная рожица) было решено посвятить получению рабочей копии новой системы методом upgrade существующего экземпляра Windows 7 – приводить “чистый” экземпляр к рабочему состоянию методом установки нужных программ, во-первых, не сильно интересно, во-вторых, нудно и долго, в третьих, может и не получиться (многие программы и данные у меня установлены на отдельный диск, чтобы ими можно было пользоваться из разных ОС – SQL Server, MS Office и т.п.). Тем более, установщик #win8 сам первым пунктом предлагает вариант “установить прямо здесь”, рассказав перед этим, какие программы будут работать, а какие – не очень. Среди последних оказались IntelliType / IntelliPoint [App won't work] и Microsoft SQL Server (2008 and 2008 R2) [Some features might not work], что показалось несколько удивительным… Несколько других оказалось не жалко и снести.

Процесс длился примерно 35 минут (на SSD-диске и при четырёхядерном процессоре i7) и закончился примерно на 80% готовности сообщением о непонятной помехе процедуре установки. Сообщение это выдалось в старинном MessageBox с кнопкой, после нажатия на которую восстановилось исходное состояние системы (довольно быстро, впрочем).

После перевода всех сервисов (в основом, SQL Server) на ручной запуск “непонятная помеха” больше не появлялась, зато проявился новомодный зелёный BSOD, прочитать который не удалось (какой-то умник поставил очень маленькую задержку для его показа и дойти до телевизора [какой-то другой умник научил установщик, что первым монитором надо считать тот, который на HDMI-разъёме] за это время не успел).

Наконец, после отключения автозапуска всех моих резидентов (Punto, Ditto, Digsby, Skipe, DropBox, SugarSync, XMarks, nnCron и др.) увидел призыв нажать Ctrl-Alt-Del и войти в систему. Было похоже, что все программы сохранились и даже запустились и можно было настроить их автозапуск. Собственно, на этом всё и закончилось – после перезагрузки увидел, наконец, сообщение об ошибке, которое раньше не успел рассмотреть

WP_000163

(речь там про драйвер Wdf01000.sys) и никакие перезапуски в “safe mode” не помогли.

Запуск в режиме восстановления привёл к капитуляции :

WP_000164

Кнопка “Advanced” предложила два режима восстановления – с сохранением всех настроек и программ и с восстановлением стандартного состояния #win8. При выборе первого варианта получил второй – от моих настроек остался лишь мой account, ни одной программы не обнаружилось. Вернее, на диске-то они все есть, но в папке Windows.old, а как там с настройками – одному БГ известно…

В общем, второе упражнение не выполнили Сердитая рожица Что ж, подождём до следующей сборки…

Technorati Теги:

четверг, марта 01, 2012

Начало очередной Windows-эпопеи.

Запустил новоиспечённую Windows 8, о которой так долго говорили большевики евангелисты и маркетологи. Ничего так, местами даже забавно и шустро. Однако, больше всего меня сейчас интересует работа с виртуалками, чего в полной мере не удаётся делать в “семёрке”.

Поэтому первым делом в новой ОСи запустил Hyper-V и небольшую машину с XP. Всё фурычит, как на Server 2008 R2, и вдобавок можно усыплять систему вместе с виртуалкой, чего на севере сделать было никак нельзя, что и удерживало от перехода на него, как на десктопную систему. Можно теперь, в принципе, заняться переносом хозяйства из VirtualBox, который используется у меня на Win7.

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

Одно радует - трёхлетний цикл соблюдается: "Семёрку" ставили где-то в это же время в 2009-м.

среда, февраля 22, 2012

Сюрпризик от локализации.

Делал программку генерации списков на узле Sharepoint 2010. В предыдущем проекте такие же действия (создание списка, добавление нужных полей, присвоение русских значений title’ов и т.п.) делал при активации features на узле. Теперь же удобнее было выполнять подобные действия в консольной утилите. Собственно, всё и выполняется без всяких изменений в коде, однако результат получается совсем неожиданным: при просмотре перечня списков в браузере (“весь контент сайта”) видны английские названия, с которыми они создавались методом web.Lists.Add(<EngName>,…), а при просмотре через объектную модель, напр., при помощи PowerShell, видны русские названия, которые присваивались через свойство newList.Title = <RuTitle>; Такая же ситуация с полями списков.
Загадка разрешилась просто – ОС, в которой запускалась утилита – английская, а локализация сайта, на котором генерились списки – русская. Для согласования локалей достаточно в начале программки выполнить присваивание Thread.CurrentThread.CurrentUICulture = web.UICulture;
Собственно, к вопросу о пользе чтения документации.
Technorati Теги:

понедельник, января 16, 2012

Эссенция допекла…

Уффф, наконец-то избавился от этой заразы под названием Microsoft Security Essential – как бы бесплатного антивируса. На самом деле это произведение индийских мастеров (версия 4 по программе бета-тестирования) совершенно беспардонно жрёт не такие уж и дешёвые ресурсы моего компьютера (чего-то часами делает при использовании 10-12 % производительности процессора i7) и всячески мешает моим действиям. Открытие вложенных папок в меню продолжается иногда десятки секунд (это на четырёх-то ядрах процессора…), при запуске фильмов в WMP, похоже, пытается проверять .mkv-файлы из-за чего фильм становится смотреть невозможно. Сегодня и вовсе компьютер мне подвесил – вижу только в ProcessExplorer активность антивируса на 18% и никакой реакции ни на мышку, ни на клавиатуру. Последняя капля. Схожу с ума от злости
В общем, классический троянец без деструктивных функций. Самое смешное, и ботнет на этих троянцах имеется – называется каким-то “сообществом пользователей” со всей нужной для ботнета функциональностью... Выбросил и в ближайшем будущем вряд ли поставлю. И т.наз. “Защитника Windows” тоже отключил – он точно так же ресурсы жрёт, вредительствует и ещё ни одной заразы не отловил.
По очереди (у меня антивирусы периодически сменяются на какой-нибудь из списка бесплатных) поставил ClamWin с монитором Clam Sentinel – с месяц уже такая компания живёт у меня на виртуальном сервере, ничего плохого пока мне не сделали, а мусор всякий с веб-сайтов прищемляют исправно. Посмотрим…
Technorati Теги: ,

четверг, января 05, 2012

Попытка смотреть кино на Windows Phone 7, продолжение.

Как же, всё-таки, вывернуться из объятий Большого Брата и посмотреть кино на телефоне? Ясно, конечно, как – переконвертировать .avi-файлы в .mp4 самостоятельно. Поиск даёт не так уж и много вариантов, из десятка испытанных остановился на двух конвертерах:

image

и

image

Первый имеет много вариантов конвертации, больше всего мне подошли варианты для HTC Android (у меня HTC Mozart) – изображение получается чёткое, размер файла уменьшается почти в 3.5 раза. Однако изображение несколько вытянуто по вертикали, а время конвертации очень велико даже на процессоре i7 с 8-ю потоками команд.

Второй конвертер, напротив, никаких вариантов не имеет вовсе, но результаты показывает отличные: при небольшом (5-10%) увеличении размера файла время обработки в 2-2.5 раза меньше, чем у первого, при отличном качестве изображения. Неудобство одно – нет пакетной обработки файлов. Правда, поковырявшись, можно сделать ту же обработку, в т.ч. пакетную, при помощи утилиты ffmpeg.exe, которая и используется конвертером. При этом последняя версия утилиты работает ещё раза в три быстрее. Палец вверх

В общем, привет Большому Брату… Дразнюсь

Technorati Теги: ,,

Попытка смотреть кино на Windows Phone 7

Качаем откуда-нибудь .avi-файлы (других не бывает почти) и делаем "синхронизацию" видео на телефон.
Очень долго Zune пережёвывает эти файлы (40 % процессора i7, используются все 8 потоков команд!, длится действо примерно 20-25% от времени проигрывания видео).
Перекодировались файлы с похожими характеристиками (размер, битрейт и т.д.) и качеством изображения (на мониторе в WMP).
Результаты "синхронизации" различаются радикально (таблица). И никаких настроек по этому поводу в Zune нет…
Большой брат без нас всё знает, бля...

Исходный файл

Перекодированный

Результат

clip_image001

 

clip_image002

 

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

clip_image003

 

clip_image004

 

Размер перекодированного файла почти втрое меньше исходного, качество изображения совсем не похоже на исходное (как на телефоне, так и на мониторе). Смотреть такое можно только при очень большом желании.

Technorati Теги: ,

вторник, декабря 06, 2011

Даёшь халяву!


Втравился в тестирование очередной версии антивируса от MS. Поначалу он вёл себя довольно смирно, но вот уже второй день чего-то долбит и долбит:image
И это всё, практически, один процесс:  image, в основном, на одном ядре (хотя и на разных) – даже иногда сообщения выскакивают о достижении 75 градусов на процессоре…
Не прекратит эту фигню – прогоню нафиг…

четверг, сентября 08, 2011

Оказывается - 9

Выяснилось, к удивлению и сожалению, что методы класса SPWeb

public override SPBasePermissions GetUserEffectivePermissions(
    string userName
)

и

public bool DoesUserHavePermissions(
    string login,
    SPBasePermissions permissionMask
)

совершенно не учитывают разрешений, получаемых пользователем через членство в группах AD, которым назначены разрешения на узле.
Функция “Проверить разрешения” на странице /_layouts/user.aspx таких разрешений не учитывает тоже. Тошнит

Technorati Tags:

суббота, сентября 03, 2011

Прощай, MS-халява…

Не очень давно народ выгнали с бесплатного сервиса блогов spaces.com. Спасибо, что хотя бы по почте заранее предупредили и подготовили переезд блогов на WordPress. Сейчас вот собираются до февраля 2012 разогнать народ с Office Live Small Businnes (открылся сервис года четыре назад и торжественно обещали пожизненно поддерживать малый бизнес). Причём жадность обуяла до такой степени, что никаких средств миграции на Office365 совсем не обещают (хотя системы очень похожи), обещают лишь, что не станут сохранять почтовые адреса (хотя они и находятся на Hotmail). Печальная рожица
Судя по обсуждениям, сервисом пользуется не так уж и мало народу, некоторые, развесив уши насчёт пожизненной поддержки, нагородили достаточно сложные сайты с десятками и даже сотнями страниц… Думаю, теперь у Гугла клиентов прибавится…
Интересно, что на очереди? Остались, собственно, Hotmail да SkyDrive. Скрещенные пальцы


Добавил: Следующим, похоже, будет Hotmail. Хреново стал работать что-то...


Technorati Tags:

пятница, сентября 02, 2011

Тест ИЕ

Раньше ИЕ 9 не постил в Blogger - писать позволял, но кнопка публикации не работала.
Вот сейчас изменили интерфейс, а отправка как?

Фурычит! Малаццы!

Раскопки SharePoint продолжаются!

SharePoint, ASP.NET, C# и не только: Чем плох CAML в SharePoint?: В последнее время, я всё чаще и чаще пишу обертки для CAML. Началось всё, кстати, с моего любимого SharePoint 2010 Fluent Ribbon API , благо...

суббота, августа 27, 2011

SPQuery и ContentType

При работе со списками Шарепойнт обычной практикой, надеюсь, является использование CAML-запросов (свойство SPQuery.Query), которые заметно ускоряют получение данных. Другой возможностью уменьшить объём перерабатываемых данных является ограничение на перечень полей данных (свойства SPQuery.ViewFields и SPQuery.ViewFieldsOnly). Правильное использование помянутых свойств способно заметно улучшить характеристики по быстродействию и потреблению ресурсов.

Проблемы могут возникнуть при попытке использовать характеристики типов содержимого (ContenttType) в списках с поддержкой разных типов. При “чрезмерном” ограничении перечня полей списка можно получить в свойстве SPListitem.ContentType значение null, а в свойстве SPListitem.ContentTypeId совершенно “левое” значение… Для предотвращения подобных проблем следует к списку запрашиваемых полей добавить поле с внутренним именем “ContentTypeId”. При обработке результатов запроса тип содержимого элемента item можно определить кодом наподобие item.ParentList.ContentTypes[item.ContentTypeId].

Лампочка

Technorati Tags:

среда, августа 17, 2011

Оказывается - 8

Нечаянно выяснилось, что определения свойства веб-части в виде

image

отличаются радикально: первый определяет свойство только для чтения, второй вызывает вывод сообщения о неправильном формате свойства и невозможности десериализации свойств веб-части. Удар

И никакой отладчик не позволяет найти причину сообщения Схожу с ума от злости

 

четверг, августа 04, 2011

XSLT-сюрприз

 

Описание – здесь.

В связи с участившимися покушениями на ГДН перенесу текст сюда:

Непонятное наблюдается при отображении дат через настроенную XsltListViewWebPart
Дата 01.02.2010 16:26, т.е. 1-е февраля 2010г., отображается почему-то как 2 января 2010 г.
при этом дата 24.11.2009 10:24 - отображается правильно 24 ноября 2009 г.

вот код:
<xsl:value-of select="ddwrt:FormatDate(string($created) ,1049 ,1)" /> |
<xsl:value-of select="$created" /> |
<xsl:value-of select="ddwrt:FormatDate(string($created) ,1049 , 3)" />
вот, что на выходе:
02.01.2010 | 01.02.2010 16:26 | 2 января 2010 г.
24.11.2009 | 24.11.2009 10:24 | 24 ноября 2009 г.

Портал русский, поле - системное Created, в БД хранится в поле tp_Created:
2010-02-01 13:26:24.000
2009-11-24 07:24:12.000

ошибка связана с реализацией XSLT DateFormat функции в Sharepoint 2010. Чтобы исправить данный bug придется написать свой xsl template, см. ниже:

Bug With SharePoint 2010 XSLT DateFormat Function

XsltListViewWebPart Date Format using DDWRT

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

CopyColor[ed Text]

Лихой плагин для ФАРа – это раскрашенный текст из фаровского редактора, перенесённый с его помощью:

    public partial class XmListViewer : Microsoft.SharePoint.WebPartPages.WebPart {

/// <summary>
/// Путь к папке с файлом локализации
/// </summary>
string localsFolderPath = "";

/// <summary>
/// Прочитать locals.xml из папки ресурсов
/// </summary>
/// <remarks>Вызывается в OnInit()</remarks>
void Localize() {
localsFolderPath =
this.Context.Server.MapPath(
this.ClassResourcePath.Replace(SPContext.Current.Web.Url, ""));
this.Description = GetLocalizedString("description", "Working with XML-files and Sharepoint-lists");
}



Technorati Tags:


четверг, июня 23, 2011

Снова сюрприз. Многострочный.

При наличии в списке многострочных полей их отображение в стандартных веб-частях зависит от установленного вида этого поля в момент образования элемента списка. В поля списка (“Название” – однострочное текстовое поле, “mlfield” – многострочное) введены одинаковые строковые значения), первые два элемента списка формировались, когда тип поля mlfield был установлен в “Обычный текст” и “Форматированный текст” соответственно, третий – “Расширенный форматированный текст”.

image

Видно, что содержимое “многострочного” поля отображается с вертикальным смещением.

В то же время подобного фокуса не наблюдается в “старом” интерфейсе, остающемся после конвертации узлов из версии 2007:

image

Палец вверхПалец внизУлитка

Technorati Tags:


F#, вторая серия. Параллельная.

Попытка соорудить способ параллельного выполнения кода по запросу данных из нескольких списков Sharepoint. Собственно, способ предполагалось использовать в веб-части, написанной на C#, выбор F# для реализации способа обусловлен наличием в нём средств для параллельного выполнения асинхронных операций (класс Async).

Упрощённая тестовая программка на C#:

image

Параллельный исполнятель на F#:

image

Однако фокус не удался: из всех списков, переданных в ParallelExecutor, данные добываются только из одного (иногда из первого, иногда из последнего). На всех остальных операция list.Items.GetDataTable() падает с диковинным сообщением <nativehr>0x80010102</nativehr><nativestack></nativestack> Печальная рожица

Похоже, разработчики Sharepoint не сумели подружиться не только с .NET 4.0, но и с F#-классом Async…

Technorati Tags: