четверг, сентября 09, 2010

XBAP в действии

Жило было одно .NET приложение и работало оно себе в окошках, и продавалось успешно, и всё бы хорошо, но захотелось главному идеологу, чтобы приложение ещё и в браузере работало. WinForms в браузере показать! Вот ведь задачка то. Но делать нечего, надо пытаться решить задачу или признать, что решения у неё нет. Понятно, что можно весь front end переписать под ASP.NET, но на это времени никто не даёт.
Решение нашлось довольно быстро - технология XBAP от Microsoft позволяет запустить WPF приложение в браузере, а на WPF форме мы можем показать WinForms элемент упраления. В том числе и обычное окно мы можем на WPF форме показать. Казалось бы УРА, но нет! Не всё так просто... XBAP приолжение запускается в песочнице с очень огарниченными правами, а при использовании WinForm элементов надо, чтобы приложение работало в Full Trust режиме. Вот тут детально написано как это сделать. Если кратко, то 1 - сгенерить сертификат, 2 - установить его на клиенте в 2 хранилища. Вроде бы это решает проблему, но как-то не очень изящно: мне не правится, что пользователь сам должен скачивать этот сертификат, сам лезть, чего-то там шерудить руками. Всё такие не для этого затевается переход в браузер и мне хотелось как-то автоматизировать установку сертификата на клиенте. И опять таки решение нашлось очень быстро!

1. Создать консольное приложение, к примеру "InstallCertificates.exe"
static void Main(string[] args)
{
  try
  {
    if (args.Length > 1)
    {
      Console.WriteLine("Certificates Installer
1.0. Please wait.");

      Uri uriPath = new Uri(Assembly.GetExecutingAssembly().EscapedCodeBase);
      string path = System.IO.Path.GetDirectoryName(uriPath.LocalPath);

      X509Certificate2 cert = new X509Certificate2(System.IO.Path.Combine(path, args[0]), args[1]);
      X509Store store = new X509Store(StoreName.AuthRoot, StoreLocation.LocalMachine);
      store.Open(OpenFlags.ReadWrite);
      store.Remove(cert);
      store.Add(cert);
      store.Close();
      store = new X509Store(StoreName.TrustedPublisher, StoreLocation.LocalMachine);
      store.Open(OpenFlags.ReadWrite);
      store.Remove(cert);
      store.Add(cert);
      store.Close();
      Console.WriteLine("Certificate Successfully Installed.");
    }
  }
  catch (System.Exception ex)
  {
    Console.WriteLine(ex.Message);
    Console.ReadLine();
  }
}


* This source code was highlighted with Source Code Highlighter.
2. В папке "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\"
   скопировать "WindowsInstaller3_1" и переименовать копию в "CertificatesInstaller". В неё скопировать "InstallCertificates.exe" и сгенерированный pfx сертификат ("myxbapkey.pxf").
3. Изменить Product.xml
<?xml version="1.0" encoding="utf-8" ?>

<Product
 xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
 ProductCode="B2Bits.Certificates.Installer.1.0"
>

  <!-- Defines list of files to be copied on build -->
  <PackageFiles CopyAllPackageFiles="true">
    <PackageFile Name="InstallCertificates.exe"/>
    <PackageFile Name="myxbapkey.pfx"/>
  </PackageFiles>

  <!-- Defines how to invoke the setup for the Windows installer 3.1 redist -->
  <Commands Reboot="None">
    <Command PackageFile="InstallCertificates.exe"
         Arguments= 'myxbapkey.pfx 12345'
         EstimatedInstallSeconds="15" >   
      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>
    </Command>
  </Commands>
</Product>


* This source code was highlighted with Source Code Highlighter.
"12345" - это пароль заданный для сертификата при генерации.

4. Изменить Package.xml в папке "en"
<?xml version="1.0" encoding="utf-8" ?>

<Package
 xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
 Name="DisplayName"
 Culture="Culture"
 LicenseAgreement="eula.txt"
>

  <PackageFiles>
    <PackageFile Name="eula.txt"/>
  </PackageFiles>

  <!-- Defines a localizable string table for error messages-->
  <Strings>
    <String Name="DisplayName">Certificates Installer 1.0</String>
    <String Name="Culture">en</String>
    <String Name="AdminRequired">Administrator permissions are required to install Certificates Installer 1.0. Contact your administrator.</String>  
    <String Name="GeneralFailure">A failure occurred attempting to install Certificates Installer 1.0.</String>  
  </Strings>

</Package>


* This source code was highlighted with Source Code Highlighter.
5. Перезапустить VisualStudo, и в свойствах своего XBAP (WPF) проекта на вкладке Publish в списке Prerequisites
  включить галку "Create setup program to install prerequisite components"
  и выбрать -Windows Installer 3.1
                  -.NET Framework 3.5 SP1
                  - CertificatesInstaller

Если после всего этого опубликовать приложение, то будет создан msi package, который развернётся на клиенте и и запустит написанную в 1м пункте утилиту установки сертификата.

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

Ах, Самара - городок!

Прошедшие выходные пролетели в пути. Объектом путешествия стал город, находящийся выше по течению реки Волги - Самара. И не смотря на то, что провёл я там всего 1 день, город мне успел понравиться. На самом деле это не первый мой визит - я уже ездил однажды в аквапарк и ещё раз на DevDays - но оба предыдущих раза как-то погулять по городу не удалось. Во время первой поездки - утром от вокзала до аквапарка, вечером обратно и без пересадок. Во время второй - всё быстренько на машине. В итоге, данная поездка позволила несколько ближе узнать город и горожан. И, как я уже сказал, и город, и горожане мне показались весьма приятными. Понятно, что сама смена обстановки уже является отдыхом и это накладывает положительный отпечаток на картину в целом, но вот, казалось бы, мелочи: кондуктора улыбаются, продавцы не хамят, водители останавливаются перед переходом, общественный транспорт ходит регулярно и его много - всё это вместе очень влияет на общее впечатление от города. А ещё, мне показалось, что люди там реально добрее и цивилизованнее, чем у нас: ну банки о обёртки бросают в урны, разговаривают интеллигентнее, матюков используют меньше. Да там грязь такая же, как в Саратове и такие же плохие дороги. Наверное, в любом провинциальном городе дроги являются проблемой. Да там стройки на каждом углу, как в Москве, но там строится жильё и торгово-развлекательные комплексы, а это много рабочих мест и конкуренция на рынке аренды офисной недвижимости. Однозначно этот город уже гораздо более развит, нежели наша "столица Поволжья" и всё становится всё ближе к Москве.

суббота, августа 07, 2010

Ди Каприо доставляет

То ли я изменился, то ли он, но что-то в последнее время фильмы с Леонардо Ди Каприо кажутся мне довольно интересными. Ну, то есть понятно, что изменились мы оба, а непонятно изменился ли мой вкус на столько, что Леонардо начал нравиться, или же изменилась его игра. Взять, к примеру, недавно мною посмотренный "Остров проклятых". Фильм захватывающий, а главный герой - так вообще мегаофигенен! А совсем на днях посмотрел ещё и "Начало". В кинотеатр ходил. Кстати, надо бы запомнить, что в жару в Победе в красном зале делать нечего - кондиционеры не справляются. Ну так я отвлёкся. Сам фильм "Начало" очень интересен, насыщен спец эффектами и, самое главное, там есть идея! Это не какой-то там боевичок! Тут нам рассказывают про осознанные сновидения, про управление сном, про сон во время сна и т.д. Вы только представьте себе: многоуровневый сон, в который тебя погружают, причём это не твой сон, а сон другого человека! Вот где мозг плавится и "ум за разум заходит"! Короче говоря, я в восторге и от идеи, и от фильма, и от игры актёров. Смотреть обязательно на большом экране.

пятница, августа 06, 2010

ПроЖареное

Сегодня второй день, как жара начала отпускать. По крайней мере, по моим ощущениям. И сразу заметно возросла производительность мозга. На прошлых неделях, когда на улице было примерно 45 в тени, 2 кондиционера в нашей комнате охлаждали воздух до 30 градусов. А иногда и до 30 не охлаждали, а в духоте при 33 градусах жары работалось очень тяжело и медленно. Опять-таки, сон в такую жару - просто никакой. А, следовательно, регулярно невысыпающийся организм, столь же регулярно прожариваемый снаружи, очень активно сопротивляется любой нагрузке - как физической, так и умственной. В итоге накопилось недоделанной работы, которую вот сейчас с удовольствием разгребаю.
Из-за жары, опять-таки, пришлось забросить самообучение - дома кондиционера нет, а от вентилятора толку никакого. Зато сегодня в рюкзак вновь попала книга CLR via C# - опять буду читать по дороге на работу. Надо уже как-то восстанавливать график )

понедельник, июля 26, 2010

Опять про пати

Вся сознательная блоггерская общественность уже отписала своё мнение о прошедшем мероприятии, а я как всегда с опозданием. Оправдывает меня лишь то, что я знаю наверняка, что запоминаются только последние слова (это мне Штирлиц рассказал) и, следовательно, отписываю последним.
Отдавая дань традициям, заложенным очень давно, наша компания вновь выдвинулась на природу с целью проведения летнего праздника. Как и год назад, это мероприятие провели в Ассамблее и прошлогодние происшествия не смутили наше руководство. Для того, чтобы снизить риск наступления этих последствий, руководство приняло решение заказать только шашлык и плов и отказаться от всяких салатиков. Плов, кстати, был вкусным. Вот только что-то там с чем-то не срослось, кто-то с кем-то не договорился, в итоге мы уехали с мероприятия до его завершения, потому как кушать хотелось - шашлыка мне, как и многим другим, не хватило... На самом деле, проблемы начались ещё на входе, когда охрана отказалась пускать нас (в том числе и нашего диектора), объясняя тем, что им не подали пофамильные списки участников! Разрулили её тем, что я героически стоял на входе и говорил кто наш, а кто не наш. Я не знаю кто прав, а кто виноват в данной ситуации, но мне не нравится тенденция проведения мероприятий нашей компанией: с каждым годом сюрпризов становится больше и далеко не все из них приятные.

четверг, июля 01, 2010

Китайский сюрприз

Сегодня утром получил посылку из Китая. Вид упаковки насторожил сразу и я, в общем-то, смирился с тем, что внутри всё поломано.


Подозрения усилились после того как я распечатал конверт и извлёк оттуда коробку.

Хотя, наличие рассеивателя немного обрадовало :) На самом деле зря я опасался. Внутри коробки, за ещё одним слоем картона, в специальном мешочке лежала она - китайская вспышка Speedlite YN460-II, купленная на eBay и высланная из поднебесной аж 11 июня.
Итого, доставка заняла 20 дней. Качество пластика, мешочка и рассеивателя приятное. Буду теперь светить ярче, с новой то пыхалкой :)

суббота, июня 26, 2010

Очередная Nokia

За пять с половиной лет использования моя старенькая Nokia 5140 успела повидать виды и начала рассыпаться. Казалось бы, ничего страшного - заменил корпус и пользуйся дальше, вот только с корпусами в нашем городишке как-то не очень. Нашёл однажды некий корпус китайского производства, так с него краска начла облазить буквально в первый день использования, а резина - на следующий. В итоге, укореняясь в мысли о покупке нового телефона, я начал смотреть на доступный предложения. И как-то поначалу рынок меня не то чтобы сильно разочаровал, но немного расстроить получилось. Как-то не радовало меня то, что я вижу на прилавках или в журнальчиках - если нравится, хначит стоит как чугунный мост, а если цена нравится - то аппаратик отвратненький )
В общем собрался я уже обратить взор в сторону других компаний (прежде я рассматривал только Nokia), но тут на глаза мне попался он! Мы с ним сразу понравились друг другу. Ну по крайне мере он мне. Короче говоря, теперь я счастливый обладатель аппарата Nokia 3720 радостного жёлтого цвета. То есть он не весь жёлтый, а только вставки. Не буду писать тут ничего про технические характеристики, потому как выбор на телефон пал на телефон не из-за них, а из-за его защищённости от пыли и влаги и ударопрочности. А вот об этом обо всём я нашёл на ютубе кучу роликов! Вот некоторые из них!





Больше видео на ютубе. Из минусов, пожалуй, отсутствие функции Бумажник. Уж очень удобно было в нём хранить пинкоды от множества карточек и паролей от интернет-банков.

воскресенье, июня 13, 2010

Выход через сувенирную лавку

Документальный фильм именно с таким названием вышел в прокат в России 13 мая. А я посмотрел его только сегодня. Многообещающий трейлер,



после просмотра которого создаётся впечатление, что фильм будет более динамичным, чем он есть на самом деле.
Фильм, на самом деле, не об уличном искусстве вцелом, а о становлении одного человека как художника. В нём показаны несколько лет жизни Тьерри Гетта - человека, изначально далёкого от стрит культуры, но в итоге ставшего знаменитым ходожником и заработавшего не этом кучу денег. Знаменитый Бэнкси появляется в фильме, но лицо его закрыто и голос изменён. Так что он ли это на самом деле остаётся только догадываться. Процесс работы Бэнкси и других менее известных активистов уличного движения изображён довольно тщательно и это вызвало у меня наибольший интерес. Всегда приятно наблюдать за людьми, которые получают кайф от того, чем они занимаются.
Не смотря на документальность фильма, на то, что снят он совсем не профессионально и смонтирован так же людьми от кино далёкими, в течение полутора часов инетерес к происходящему на экране не терялся. Захочу ли я пересмотреть его? Наврное да. Скорее всего я куплю себе DVD с этим фильмом и он займёт почётное место на полочке.

понедельник, июня 07, 2010

Четвёртый сезон

Вот так неожиданно для себя я открыл, что мы начали не абы какой, а 4й сезон наших поездок на природу. У нас, как обычно, всё по-взрослому: палатки, шашлычок, костерок. Правда на этот раз без гитары. Место, скажу я вам, великолепное. Я и не знал, что у нас в области есть такие места.
Утёс Степана Разина. В общем то, это был не совсем он - мы нужный поворот пропустили разбили лагерь в нескольких сотнях метров от него - но картинка идентичная. За то, у нас была местная дсотопримечательность Дурман-Гора и овраг в котором Степан, якобы, мучал и убивал своих пленников.
Впечатления от поезки не однозначные. Очень радует то, что всё получилось, что место отличное, что без травм. Расстраивает же то, что в коллективе были разногласия по поводу места остановки. Раньше как то всё решалось единогласно и всё было на позитиве, в этот же раз были обиды. В итоге я поставил палатку вдали от всех - на краю обрыва и наслаждался шумом волн. Навреное это из-за ветра, но волны были прямо таки морскими. Ну по крайней мере по звуку - ночью то не очень видно :)
Фоток, на самом деле, очень много, но разбирать их сейчас нет никакой возможности. Так что выложу на пикасу как нибудь в другой раз.

четверг, мая 13, 2010

Снова в эфире

Не прошло и года, как новая версия сайта www.ekaterinakochieva.ru увидела свет. В отличие от прежней инкарнации, данная написана на ASP.NET - это в полный рост взрослый сайт с jquery и ajax'ом. Надеюсь хостинг нас не подведёт и сайт будет стабильно работать. Самое главное, ради чего вся эта переделка и затевалась - возможность загружать фотографии без необходимости изменения кода. Первая версия то была на HTML, а следовательно чтобы показать новые фотографии надо было править код страницы. Здесь же добавилась админка - теперь Катя может редактировать меню, тексты и строки, загружать картинки в галереи. Понятное дело, что пользователю это не видно, но поверьте мне, всё это работает :) Ну и вторым по важности пунктом была оптимизация скорости загрузки сайта, что тоже было реализовано. Короче говоря, наслаждайтесь просмотром, а мы постараемся публиковать больше красивых фотографий и добавлять полезные фишки!
P.S.: Я буду рад услышать или прочитать предложения о том, какой бы функционал прикрутить.

понедельник, мая 10, 2010

День победы

9 мая - День победы - в нашей стране прошёл.. Мной он был встречен небольшим велопробегом по кумысной поляне. Ни в каких праздничных мероприятиях я не поучаствовал, песен не попел, водки не попил. Хотя в лесу пикников было просто несметное количество. А, собственно, что праздновать то, кроме выходного дня? Наверняка многие негодующе воскликнут: "Как что? Ведь наши деды за эту победу жизни положили! Они воевали, чтобы мы жили!" ну или как-то так. Ну, в общем то, я не оспариваю, что жизни они положили, но раз уж придавать этому дню - 9 мая - особый смысл, то лучше уж обозначить его как день траура по тем, кто положил жизнь. Война, как её нам описывают, штука ужасная, и вспоминать о таком ужасе - это мазохизм. Я знаю несколько человек, которые могли бы рассказать о блокадном Ленинграде, но они никогда про это не говорят, потому что это время у них ассоциируется со страхом, с тем, что неприятно вспоминать. Почему то я уверен, что ветерану, который прошёл эту войну, над которым свистели пули, рядом с которым рвались снаряды, который видел массовую смерть вокруг себя, будет с большим отвращением возрождать в своей памяти эти прожитые моменты (минуты, часы, годы... не знаю какое слово лучше).
На мой взгляд то, что сейчас происходит вокруг этого праздника, разделяет русских солдат на 2 группы: участвовавшие в ВОВ и остальные. Причём участие в ВОВ автоматически покрывает человека слоем блеска и величия, не смотря на то, что он, возможно, и не видел боя. Раз уж современная Россия возрождает традиции прежнего времени и пытается избавиться от социалистического наследия, то почему бы не начать отмечать день победы над Наполеоном и не возвести в ранг героев участников той войны? Чем они хуже? Они так же защитили честь страны. А те, кто воевал в Афганистане или в Чечне не были героями? Те, кто с честью выполнял приказы, порой ценой собственной жизни, разве они хуже тех, кто погиб в 1941 - 1945 годах?Воинов, положивших свои жизни за отечество а так же тех, кто был готов это сделать, чтить надо и это правильно. Вот только не стоит их разделять на тех, кто участвовал в одной войне, или в другой. Парады и речи лучше оставить на 23 февраля - День защитника отечества. 9 мая это, скорее, день скорби, нежели праздник, а весь тот пафос, с которым сейчас празднуют этот день, все эти парады и возложения венков, политические лозунги и раздача пайков старикам, всё это направлено только на списание бабла и поднятие личного имиджа.

четверг, мая 06, 2010

Биндим IEnumerable к ListBox

Недавно возникла потребность забиндить IEnumerable<XElement> источниклм данных к обчному ListBox. Казалось бы, чтого проще? Но забиндить нужно так, чтобы выглядело user friendly. Собственно, если просто присвоить свойству DataSource значение, то для каждого XElement будет вызван ToString(), который вернёт строковое представление XML элемента. Это, конечно, не плохо, и, навреное, даже удобно для разраотчика - сразу видно что выбрал, но для конечного пользователя программного продукта выглядит это ужасно.
Спустя недолгое время мук творчества на свет был рождён вот такой компактный и удобный код:

void fillListBox(ListBox listBox, IEnumerable<XElement> elements)
{
  if (listBox == null || elements == null)
    return;

  listBox.Items.Clear();

  listBox.DisplayMember = "Value";
  listBox.ValueMember = "Key";

  foreach (var element in elements)
  {
    listBox.Items.Add(
      new KeyValuePair(element, element.Attribute("name"))
      );
  }
}


* This source code was highlighted with Source Code Highlighter.

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

понедельник, мая 03, 2010

Шашлык-башлык

Первомай я провёл под автомобилем, чтобы уже на следующий день отправиться в дальнее путешествие в страну тюльпанов. Это отнюдь не Голландия, как могли многие подумать, это место очень даже недалеко от города Саратова. Примерно таким в моём сознании представлялось место, описанное вот тут. Второго числа по утру команда добровольцев в количестве 3х человек села в наш мобиль и устремила его в сторону этого самого п.г.т. Степное. Сама дорога особого интереса не представляет. Разве что стоит заметить, что довольно живописные пейзажи встречаются вокруг дороги после выезда из Энгельса, но таких пейзажей предостаточно и в других направлениях. Кстати состояние дороги не очень хорошее, а местами даже немного хуже. Но вот, дистанция около 100 км незаметно пройдена, вот уже и поворот с трассы на Степное и наши взгляды уже мечутся по сторонам выискивая хоть слабый намёк на тюльпан. Вспомнив, что в посте, послужившим для нас источником вдохновения, говорилось о речке Мечетке и сверившись с картой, мы пришли к выводу, что Степное нам надо проехать насквозь, что мы, собственно, и сделали. Немного поплутав в окрестностях мы, наконец то, нашли нужное направление, а затем и описанные поля тюльпанов. Очень жаль, что в это году они ещё не распустились и мы не смогли увидеть всего этого великолепия, но это не помешало нам устроить небольшой пикничок с шашлычком и насладиться великолепными видами этих мест.
Вот обои рабочего стола зафоткал. Windows XP отдыхает)



Очень красивый пейзаж

Бавария нулёвка так себе напиточек

Мы со Светой жарим сосисочки на новом мангале




Вот таким был наш праздник Мира и Труда) Спасибо Свете за идею и великолепный маринад, Кате за доставку всех участников экспедиции в целости и сохранности, а так же за мегафотоподдержку! Спасибо всем нам, за то, что мы отлично провели время! ))

вторник, апреля 27, 2010

Адам и Свeтозар

Прочитав заголовок этого поста, читатель наверняка подумает, что я хочу написать о каких нибудь эпических героях, но на самом деле всё не так. Речь в этом посте пойдёт снова о музыке. С визитом дружбы наш город посетил всемирно известный диджей Адам Вайт из славного города Лондона. Программа визита включала пресс конференцию в студии местного отделения радио "Рекорд" и выступление в недавно открытом клубе под названием"Киностудия Светозар". Сразу скажу, что название это я считаю очень не подходящим для клуба, но меня, естественно, никто не спрашивал :). И так, пресс конференция. До этого я никогда не был на таких мероприятиях, но вот мне посчастливилось побывать и, в общем то, я рад, что это случилось. Очень необычные ощущения, когда звезда такого уровня сидит в паре метров от тебя, кроме стола вас ничего не разделяет и можно спокойно поболтать и оказывается, что это обычный человек, просто известный. Там я узнал, что он друг Пола Окенфольда - имя которое я несколько раз слышал :) В общем, довольно круто.
Потом, собственно, поехали в клуб и первое, что я там понял - мне никогда не было так громко! Басы пробирали так, что вибрировали джинсы на ногах, не говоря уже о внутренностях! Темнота, лазеры, дым, стробоскопы, танцующие люди и диджей за пультом - всё это вместе создавало довольно праздничную и радостную атмосферу. Очень удивился количеству охраны и их слаженной работе - в зале было человек 10-12 крупногабаритных охранников, которые перемщались не мешая отдыхающим и как только один отходил со своего поста (к примеру со входа в VIP) даже на несколько метров, его место занимал другой. В общем всё очень безопасно, раскованно, весело м шумно.
Перед, собственно, английским гостем выступал ещё один диск жокей - Алексей Сонар. Честно говоря, поначалу, когда Алексей доиграл свой сет и вышел Адам, я особой разницы в музыке не заметил.Только громче стало и басы сильнее. Но позже, когда Адам разобрался со всеми ручками на пульте, заиграла совсем другая музыка и отличия уже были явно заметны. В целом, не являясь большим поклонником такой музыки, я с уверенностью могу сказать, что я снова посещу подобное мероприятие с не меньшим удовольствием.
Адам Вайт на пресс конференции.

Алексей Сонар за пультом.

Адам Вайт за пультом.

Расколбас.

За фото большое спасибо Кате. Я в этот раз был без камеры.

среда, апреля 21, 2010

Один

Сегодня ровно 1 год с тех пор, как в этом блоге появился первый пост - это пока маленькая, но очень важная для меня дата. Обычно в таком случае принято подводить итоги, попробую это сделать и я. И так, что же произошло за этот год? Ну самое, наверное, важное, что сноубордический сезон был открыт, успешно откатан и закрыт без травм. Да и вообще весь прошедший год у меня прошёл без болезней, что, несомненно меня радует. Ни мифический свиной грипп, ни какие другие болячки меня не затронули. Так же радует то, что за прошедший год я очень сильно (на мой взгляд) продвинулся в техническом плане. Я имею ввиду свою профессиональную деятельность - разработка программного обеспечения на платформе Microsoft .NET. Много литературы было прочитано, много задач решено, мыслей обдумано, вопросов отвечено, экспериментов проведено, кода написано, консультаций дано. Ещё одним важным пунктом для меня является освоение гитары. Катя, как мой единственный слушатель, может подтвердить, что в этом направлении так же есть прогресс. Огорчает, что не получилось отдыха в Альпах, но за-то отлично погостили на черноморском побережье. Для меня Лазаревское - это то место, куда хочется приезжать не  только для того, чтобы побыть на море и подышать морским воздухом, но ещё и для того, чтобы повидать наших хороших друзей. Наверняка есть и ещё поводы для огорчений, но сейчас они в голову не приходят - только положительный эмоции роятся в ней.
Короче говоря, с Днём Рождения, мой Маленький Бложик! Ура! Ура! Ура!

вторник, апреля 06, 2010

О работе на работе

Вот сколько раз зарекался рабочими вопросами заниматься только в рабочее время. Но, блин, ровно столько же раз это обещане нарушал. Вот и в последний раз над задачей с прошлой недели мозг ломал, и все выходные она из головы не выходила. Но всё, хватит. Теперь о работе буду думать только на работе и не более 8 часов в день. Кстати вчера попробовал так - то есть уйти с работы и выкинуть мысли о ней из головы, а при попытке их вползти обратно в голову, гнать их прочь - и это мне очень понравилось. В результате я сегодня бодр, свеж и выспавшийся :) В общем, рабочие мысли, будте в голове только когда я в офисе, а в остальное время бойтесь меня и сидите где нибудь подальше от головы!

воскресенье, апреля 04, 2010

Какого цвета крабы?

На этих выходных наш город посетил удивительный коллектив ВПР и Фестиваль Всего На Свете. Если кто ещё не знает что это за коллектив такой (то есть я кому-то ещё не проел мозг на эту тему :) ), то прочитать о Роме ВПР можно аж в самой википедии :) Приехали эти ребята и отыграли концерт в новом клубе "Минкульт", который, по случаю и открылся :). Хоть я и не являюсь фанатом музыки рэгги, но иногда, знаете ли, люблю, к примеру, Пятниццу (5'nizza) послушать. И тут в руки мои с лёгкой подачи моего друга Димы попали песенки этого коллектива. И зацепило. Очень очень зацепило. Песни "Солнце и Соль" и "Где-то рядом" крутились в голове несколько дней. В общем, известие о том, что они к нам приезжают, меня обрадовала и на концерт я шёл в предвкушении приятного времяпрепровождения!
И вот он концерт. Народу собралось не много - человек 50 - 60, но это не помешало созданию доброй и приятной атмосферы. А всё почему? А потому что случайно зашедших людей там не было - все шли именно на ВПР. Больше всего меня удивило разнообразие публики - разброс возрастов, наверное, лет от двадцати до лет сорока с хвостиком. Перед самим действом толпу пытались разогреть модные сейчас фаеры (вроде так они называются), но толпа и так была готова и жаждала артистов. Артисты не дали толпе долго томиться в ожидании, вышли на сцену и зажгли! Никаких спецэффектов, никаких полуголых девушек в подтанцовке, только живой звук, немного дыма, а пришедших колбасило так... Даже не знаю с чем сравнить как их колбасило. Очень сильно колбасило! Те, кто постарше, стоял в сторонке плавно двигался вместе с музыкой, а молодёжь, словно в трансе, выплясывала диковинные танцы. Понятно, что некоторые предварительно ввели себя в "состояние изменённого сознания", но мне показалось, что таких было не много. Для остальных, средством для "изменения сознания" являлась льющаяся со сцены музыка. Всё мероприятие прошло на очень позитивной волне, Рома, да и все музыканты, выкладывались по полной, пели и играли. отдавая в зал волны положительной энергии, а по залу скакал счастливый Дима, без которого ничего этого не случилось бы :) Кстати говоря, счастливых, радующихся и просто улыбающихся лиц за этот вечер я увидел больше, чем вижу в течения месяца - люди слушали любимую музыку, подпевали и реально наслаждались и упивались "позитивными вибрациями".

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

вторник, марта 30, 2010

Главное соблюдать режим

В процессе разработки я столкнулся с весьма интересной проблемой: как в WinForms приложении определить в каком режиме сейчас находится контрол? То есть, понятно, что внутри контрола есть свойство DesignMode, которое и призвано ответить на этот вопрос. Но только когда разрабатываемый контрол помещается на форму, то он из режима редактирования быстренько перескакивал в рантайм, то есть это возвращало нам false. Столкнувшись с этим непонятным поведением я подумал, что, кто-то на эти грабли уже наступал, и простой запрос гуглу вернул мне кучу обсуждений, где во всю горланили, что это баг такой, что свойство это некорректно, что надо обходными путями проверять. В большинстве мест глобальный разум подсказывал простое решение: спросить текущий процесс, а не процесс ли он среди разработки:
System.Diagnostics.Process.GetCurrentProcess().ProcessName.Equals("devenv")
Но такое решение показалось мне не очень понравилось, потому как разрабатывать приложения можно не только в Visual Studio, а, следовательно, в другом редакторе такой способ не поможет.
В общем начал я исследовать это свойство DesignMode и выяснил очень приятный момент! Если, например, его проверять в конструкторе контрола, то нам возвращается false, а если в OnLoad или в InitLayout, то он, вуаля, всё работает правильно! Если мы находимся в редакторе, проверка свойства DesignMode внутри всех методов и свойств контрола, кроме конструктора, возвращает true, а если же приложение запущено, то нам приходит false. В общем свойство это работает так, как ему и следует. Удивляет одно - я нигде не увидел корректного совета о том, что проверять это поле надо не в конструкторе, а позднее.

вторник, марта 23, 2010

Колхоз стайл

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

понедельник, марта 22, 2010

Кинодень

Решил забросить на один день всякие напрягающие мозг задачки и посмотреть пару фильмов. И так, по-порядку.
Первым под руку попал Кандагар - свеженький фильм с довольно громкой рекламной кампанией. В основу фильма легли реальные события. На сколько я понимаю, показанная история очень близка к реальности, хотя и несколько смягчена. Фильм предназначен для широких масс, он не держит в напряжении, но игра звёздного состава (Балуев, Машков, Панин) не даёт отвлечься. Вот так сидишь и смотришь весь фильм. И я сидел и смотрел и не жалею о потраченном времени - фильм мне понравился и тем, кто не видел, очень рекомендую.
Далее мой выбор пал на Адреналин 2. Понятно, что какого-то смысла от этого фильма ожидать не следует, просто хотелось экшна. Помнится в первом Адреналине его было предостаточно. Но как-то прямо с самого начала фильм не понравился. И динамика какая-то неправильная, и съёмки (или монтаж?) как-то разочаровали. В общем, 15 минут просмотра и фильм отправляется на помойку.
Дабы жажда зрелищ была не утолена, следующим кандидатом на просмотр был выбран немецкий фильм Die Welle (Волна), который почему-то переводчиком был назван "Эксперимент 2". Ну да, фильм про социальный эксперимент, проведённый в одной из немецкий школ. Кстати тоже основан на реальных событиях. Вкратце там повествуют о том, как отдельно взятый учитель, в отдельно взятой школе, в рамках отдельно взятого курса "Автократия" опроверг утверждение о том, что в Германии невозможно создать диктатуру, потому как она (Германия) уже имеет такой отрицательный опыт. Как выяснилось, у современного общества даже такой развитой и наученной горьким опытом страны нет иммунитета к культу личности. Фильм захватывает с самого начала и смотрится с удовольствием на одном дыхании. История интересная и во-многом поучительная. Этот фильм я так же рекомендую к просмотру.

понедельник, марта 15, 2010

Так значимые или ссылочные?

Пишу я тут одну библиотеку, которая должна связывать 2 приложения, ничего друг о друге не знающих. Задачка не сложная, у библиотечки есть API, на вход методам которого подаются объекты, наследующие определённые интерфейсы, из этих объектов берутся нужные поля и данные передаются одному из приложений. Но суть не в этом. Внутри библиотеки я использую структуры, уповая на то, что значимые типы размещаются в стеке, а следовательно работать с ними быстрее, чем со сылочными, которые в куче. Вот и подумалось тут мне, есть метод, который возвращает проинициализированный некими значениями объект типа IInterface. Какая реализация метода отработает быстрее: в которой создаётся новый значимый тип или же ссылочный? Вроде как при значимом будет производиться боксинг, что довольно дорогое удовольствие, но в то же время для ссылочного компилятор генерирует callvirt вместо call, который тоже добавляет тормозов. В общем для проверки написал маленький тест.
Собственно, объявление типов:
  1. interface IInterface
  2. {
  3.   string field { get; }
  4. }
  5. struct Struct : IInterface
  6. {
  7.   public string field { get; set; }
  8. }
  9. class Class : IInterface
  10. {
  11.   public string field { get; set; }
  12. }
  13. static IInterface method1()
  14. {
  15.   return new Struct() { field = "0" };
  16. }
  17. static IInterface method2()
  18. {
  19.   return new Class() { field = "0" };
  20. }
* This source code was highlighted with Source Code Highlighter.
Ну и сам вызов:
  1. Stopwatch sw = new Stopwatch();
  2. sw.Start();
  3. for (int i = 0; i < 100000; i++)
  4. {
  5.   IInterface I = method1();
  6. }
  7. sw.Stop();
  8. Console.WriteLine("Test1: On struct elapsed: " + sw.Elapsed.ToString());
  9. sw.Reset();
  10. sw.Start();
  11. for (int i = 0; i < 100000; i++)
  12. {
  13.   IInterface I = method2();
  14. }
  15. sw.Stop();
  16. Console.WriteLine("Test1: On class elapsed: " + sw.Elapsed.ToString());
  17. Console.ReadLine();
* This source code was highlighted with Source Code Highlighter.
В результате получилось:
Test1: On struct elapsed: 00:00:00.0110243
Test1: On class elapsed: 00:00:00.0075070

В общем получилось, что боксинг медленнее виртуального вызова, но учитывая, что на 100 000 экземпляров разница составила 4 миллисекунды (это максимальная увиденная мной разница), с этим вполне себе можно жить.
Если же всётаки методы 1 и 2 будут возвращать не интерфейс, а структуру и класс соотвественно, то метод со структурой выполнится быстрее своего собрата.
Test1_1: On struct elapsed: 00:00:00.0042494
Test1_1: On class elapsed: 00:00:00.0067243

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

суббота, марта 13, 2010

Жоп-слайд и другие трюки

Сегодня в нашем городишке прошёл джиб-контест.
 Ну ничего так мероприятие, вполне интересное и даже захватывающее. К сожалению успел только на финал, потому как до этого боролся с оснеживанием и облединением в масштабах отдельно взятого гаража. Но, в общем то, до финала дожили самые лучшие, а зачем, спрашивается, смотреть плохой джиббинг, если можно увидеть хороший? Ну не смотря на то, что место было перенесено, соревнования состоялись, победители назначены и одарены ценными призами, все участники зафотографированы... Ну, в общем, всё было организовано хорошо и всё удалось. Интересно, есть ли у них возрастные ограничения? А то я бы на следующий год поучаствовал с удовольствием... А пока, немного фоток, снятых моими кривыми и замёрзшими руками.
Трюк "жоп-слайд"

 Единственная девушка участник
Больше фоток на пикасе.



четверг, марта 11, 2010

Алиса порадовала

Посмотрел "Алису в Стране Чудес" Тима Бёртона, и не просто так плоское кинцо, а в самом что ни на есть 3D. Остался очень-преочень доволен увиденным. Вот у меня друзья говорят, кто этот фильм месяц ждал, кто неделю, а я совсем не ждал. Ну фильм и фильм. Ну Алиса. Но ничего экстраординарного я не ожидал. А зря!
Круче всех кот! Чеширский кот с просто непередаваемой улыбкой и полным ртом зубов! На втором месте Шляпник - Дэпп. Ну да, он не переплюнул рисованного кота, но за-то какие у него потрясающие глазища! Ну а игра Дэппа опять на высоте, хотя походочку такую мы уже где-то видели :) Ну а дальше все по списку :) Ещё порадовала озвучка! Чего только стоит "Голову с плеч!" красной королевы!

В общем, очень рекомендую и именно в 3D - очень много этого 3D там и очень качественно сделано. Смотрите и не пожалеете!

суббота, марта 06, 2010

Сократ был прав

Осенью прошлого года я решил, что надо бы мне подтянуть свои знания, потому как что-то засиделся я на одном месте, разжирел и расслабился, а вперёд двигаться надо. На тот момент я считал себя неплохим программистом не претендующим на какие-то награды, но хорошо выполняющим свою работу с достаточным багажом знаний и опыта за плечами, позволяющем решить многие возникающие задачи в кратчайшее время. Даже почти безукоризненно выполняющим свою работу, всегда укладывающимся в сроки и почти не допускающим ошибок. По случаю отпуска, в надежде утолить жажду знаний, было собрано немного материала по новым технологиям и некоторое количество фундаментальных книг, дабы освежить забытое и заполнить пробелы в знаниях. И началось... С тех пор список прочитанных книг и статей, прослушанных лекций и просмотренных презентаций расширился в несколько раз и постоянно растёт и множится. Это всё хорошо, а вот плохо то, что чем больше я читаю и узнаю нового, тем сильнее понимаю, что знания мои скудны и ничтожны :) Я с ужасом думаю, где де же взять столько времени и сил, чтобы узнать всё, что интересно, но буквально с каждой прочитанной страницей этот список интересного и мною ещё не изученного пополняется новыми пунктами!
Конечно же не все вещи имеется возможность применить, но когда удаётся внедрить что-то, что только недавно узнал, как-то радостно что ли становится. Приятно в общем. А ещё приятно осознавать, что за последние пол года разобрался в куче всего и желание учиться не пропало, а наоборот всё острее и острее!

Хочу всё знать! :)

пятница, марта 05, 2010

Постапокалиптическое...

Что-то в городе произошло в последнее время - после возвращения из Хвалынска. Точнее даже в тот день, когда мы уезжали в Хвалынск.
Тот день нас встретил дождём при температуре чуть ниже нуля. Понятное дело, что долетая до земли капли тут же застывали и дорога превращалась в зеркальную ледяную поверхность. Ехать было страшно, но ещё больше пугала картина, которая разворачивалась вокруг: вдоль всей объездной дороги стояли фуры, порой в два ряда, плюс к этому серое небо с капающими с него каплями, почти полное отсутствие людей и движения в целом. В общем картина напоминала те страшные кадры, которые рисуют нам голливудские режиссёры, изображая последствия нападения инопланетян или же вирусного заражения.
К слову сказать, через 100 км от Саратова это закончилось и дождь превратился в снег, но дальше стало хуже - метель такая, что не было видно краёв дороги и иногда не было понятно куда мы едем. Стоит ли говорить, что впереди идущие автомобили тоже были неразличимы за стеной снега. Но в целом, конечно, откатались нормально и довольные двинулись обратно.
Обратная дорога пролегала в тумане, что тоже не очень хорошо отражалось на видимости, которая достигала метров 5 в меньшую сторону. Въехав в город мы встретились с всё тем же ледяным покрытием дороги, которое так же не прибавляло оптимизма.
А после этого начались проблемы с транспортом, увеличилось число аварий и заторов на дорогах. Сегодня вот добираться с работы пришлось очень долго и больше половины дороги пешком потому что весь общественные транспорт просто встал в пробках. Собственно, простояв на одном месте около 40 минут я вышел из автобуса и пошёл в сторону дома. И в этом я был не одинок - наиболее нетерпеливые вышли минут через 10 стояния, а наиболее оптимистичные остались сидеть. Минут через 30 своего пешего пути я встретил "причину засора" - автобус и десятка не поделили проезжую часть и перегородили почти половину дороги, а оставшаяся половина была перегорожена фурами, которые не могли въехать в горку.
В общем пока я шёл, меня не обогнал ни один автобус. Вот такой неожиданный выдался вечер.
 
Скоро что-то будет или же это паранойя?

суббота, февраля 20, 2010

Позитивный выходной день

Что же это был за насыщенный и чудесный денёк! Столько всего мы успели сегодня сделать! Утром сходили в гараж и откопали его из под сугробов! Я его, конечно, перед этим несколько раз разчищал, по-этому снега было чуть выше колен, а не по шею, как у соседних гаражей :)
Потом мы пошли кататься на сноубордах! Какая же это была замечательная покатушка! При температуре воздуха 0 - минус 1 доска отлично вгрызается кантами в снег и катание в таких условиях лёгкое и непринуждённое! А ещё сегодня мы учили нашего друга кататься и я был просто шокирован: человек сегодня первый раз в жизни встал на доску и, надеюсь, благодаря нашей поддержке, советам и, конечно же, собственному сильному желанию, через каких-то 2 часа катания пользовался подъёмником!!! Так что, друзья-читатели, обращайтесь, кто ещё не умеет кататься, но очень хочет научиться. Занятия пока бесплатные.
А вечером я ходил ещё к одному другу лечить компьютерные вирусы) Мы с ним давно не виделись и я был очень рад пообщаться!
А завтра едем в Хвалынск на 2 дня и радует, что погода будет (должна быть) такая же чудесная, как сегодня!
Вот такой позитивный сегодня был денёк!

среда, февраля 17, 2010

Что ж, коллеги и соучастники уже отписались, пришла и моя очередь написать о своих впечатлениях о проведённых выходных. А ездили мы в маленький городок Вольск, что в 150 км от Саратова, на тамошний "горнолыжный курорт". Надо заметить, что поездка это не первая, но, на мой взгляд, самая лучшая. И колея подъёмника в этом году лучше, и умение кататься у меня больше, да и в целом всё прошло на очень позитивной волне. Большинство поехавших каталось, а не бухало, и это меня почему-то радует. Конечно не обошлось без изрядно выпивших, но это уже стабильность. Одно небольшое исключение - я немного ободрал покрытие (стокловолкно?) своего сноуборда (верхнее, не скользяк) - понасажали деревьев в лесу :) Фотки из поездки есть вот здесь и ещё вот тут (я на фотках в оранжевых штанах).
 На утро после поздки во всём теле была приятная боль после физической нагрузки и неприятная боль в большом пальце, который тоже немного пострадал от столкновения моей тушки с вольским деревом.
А в эти выходные мы поедем в Хвалынск с ночёвкой чтобы послностью насладиться прелестями ночного катания. Надеюсь приедем живыми и целыми :)
PS: Спасибо фотографу Алексею Зинину за клёвые фотки.

воскресенье, января 31, 2010

День Ж

Не смотря на то, что вчера был выходной, день был не самый лёгкий. Вчера мы переоформляли автомобиль на Катерину. И так, задача, есть автомобиль, есть представитель владельца с генеральной довоернностью на руках, есть Катя. жаждущая стать новым собственником этого ведра с болтами. Найти кратчайший путь от точки А до точки Б.
Приехали мы в ГАИ в надежде пробыть там не больше часа. Кстати, смею заметить, что друзья, проделавшие такие же манипуляции в Саратове, затрачивали на процедуру именно это время или около того. Но наша история происходит на бюрократических просторах города Энгельс. Поднявшись на второй этаж и увидев там несколько пронумерованных окошек, подошли к свободному, которое по совместительству имело номер 1. Объяснили зачем пришли, в ответ на что получили список документов, которые надо иметь, чтобы инспектор принял и очень солидный воркфлоу - сначала пойти сюда отдать этот документ, там его подпишут его отнести ещё туда и т.д. Так же в этих окошечках осуществляли помощь в оформлении этих всех документов, консультирование по вопросам в процессе, ксерокопирование, страхование и всё это за ваши кровные денежки. На счёт документов - очень удивительное требование: иметь при себе оригинал и нотариально заверенную копию генеральной доверенности. Казалось бы, если у меня есть оригинал, то что мешает на месте снять копию и приложить её в дело или куда там они её прикладывают.
Поняв, что в этих документах чёрт голову сломит, а уж мы и подавно, мы дали согласие на оказание нам этих платных услуг и, спустя каких-то несколько минут, получили ворох бумаг на подписание, оплату, подписание инспектором и ещё для не пойми чего... Оплатили. Настала очередь предоставить автомобиль к осмотру инспектору. Надо заметить, что инспектор осматривает автомобиль только на стоянке, въезд на которую для легковых автомобилей платный. Вот 1 сугроб, то есть 1 метр в сторону - уже не видит инспектор что там за номера на двигателе и кузове. Оплатили. Заехалина стоянку, стали ждать, инспектора нет. Оказалось, что изловить инспектора не просто! Для этого надо открыть капот и ждать, а когда открытых капотов наберётся N (это самое N никто так и не озвучил), инспектор прибегает и смотрит. Я не заметил сколько капотов набралось, но инспектор явился, глянул на наш двигатель и молвил: "Документы на газовое оборудование." А их и нет. "Ну раз нет, значит не подпишу. Демонтируйте - тогда подпишу." На попытки возразить и намекнуть, что вроде бы оборудование на техосмотре надо проверять, а его задача номера сверить, спина инспектора ничего не ответила. Демонтаж оборудования производился быстро. Очень быстро. Чтобы успеть, пока инспектор вновь не улизнул в свой домик, или где он там прятался... В итоге, в момент, когды мы закончили - спина инспектора двигалась в стоону здания ГАИ, что предвещало продолжение ожиданий. Ожидани пуще неволи, по-этому инспектор был догнан, остановлен и обезврежен фразой "Товарищ инспектор, а мы там газовое оборудование сняли. Может вы глянете, пока далеко не ушли?" Ответ был неожиданным "Ну давай подпишу". Вот так просто, не сверив номера, не проверив, что оборудование действиетльно сняли, инспектор поверил на слово! Дабы все документы в машине, узнал где он сидит, быстренько туда обратно и вот мы уже с подписанными документами. Ура! Но не тут то было. Следующий этап - снятие с учёта и постановка на него же, но так как наше ГАИ уже проработала половину рабочего дня, обед наступил по расписанию - с 13:00 до 14:00, а рабочий день в субботу до 15:00.
За этот оставшийся час рабочего времеи предполагалось, что мы снимем авто с учёта, сгоняем в центр города в Ингосстрах, чтобы переоформить страховку, вернёмся и поставим авто на учёт, потому как ПТС без страховки они не дают. Чтобы не рисковать, пришлось взять страховку на 3 месяца у местного страховщика, который там представлен в ассортименте - Росгосстрах чуть ли не в каждом окне. В общем всё закончилось успешно, и не смотря на все тяготы и лишения, автомобиль перекочевал к новому владельцу.

среда, января 20, 2010

Взляд на SSRS 2008

Некоторое время назад я был на тренинге под названием "Session on SSRS 2008", который был любезно представлен нам экспером из Microsoft. Остаток двоякий. С одной стороны радуют несколько фактов: то, что я всё ещё достаточно хорошо понимаю англоязычную речь; то, что на мои вопросы не было ответов "похоже я тебя не понимаю"; то, что не смотря на небольшой опыт работы с SSRS 2005 и только теоретический опыт работы с SSRS 2008, всего 2 фичи оказались новыми для меня; то, что всётаки почерпнул эти новые фичи; то, что у меня был ответ на все вопросы, задаваемые моими коллегами и даже на те, на которые презентер не мог дать ответ. С другой стороны есть и огорчающие факты: в первую очередь то, что ответом на мои вопросы было "НЕТ" - ну например ширину столбца таблицы нельзя вычислять динамически, отчёт может работать только с первым SELECTом из процедуры, редактор кода для отчёта по-прежнему ужасен и неудобен.
В общем вот такой я хороший.
Ещё немного огорчило то, что человек, представляющий нам новую технологию, имеет о ней поверхностное представление, знает только то, что собрался показать, а когда задают вопрос посложнее и поглубже - теряется и не может дать ответ. Это что же, все евангелисты из MS такие или просто так совпало? А быть может по тому, что презентер был выходцем из Индии?

вторник, января 19, 2010

Российские Железные Дороги

На выходные мы ездили в Москву. До столицы ехал на фирменном поезде №9 Саратов-Москва и хочу заметить, что это было весьма приятно. Билеты покупал со скидкой 50% в купе по акции РЖД. Вагон был новенький (ну почти), с автоматическими дверьми, улыбчивыми проводниками, 2мя туалетами с одной стороны, тёплой водой, раскладными диванами с мягкой спинкой и прочими радостями паровозной жизни. Не смотря на то, что у нас были верхние места, мы доехали с комфортом и о поездке остались только положительные воспоминания.
Обратная дорога оставила несколько иной след в памяти. В купе билетов не было, и мы покупали билеты в плацкарт. Опять таки, поезд не фирменный, а скорый № 17, потому как отходит он позже на 2 часа, а на девятку могли не успеть. В общем-то, в плацкартном вагоне я ездил и не раз и обычно всё было не так плохо. Но не в этот раз. Началось с того, что в момент посадки в вагоне не было света. Потом свет включили, и вагон предстал, так сказать, в новом свете. Во первых там было грязно. Очень грязно. Понятно, что на улице не сухое жаркое лето, но грязь была не только там, куда регулярно ступает нога человека, а на потолке, стенах, под столом. Если сказать, что вагон был очень стар, это не полностью передаст его состояние. Заплатки были на полках, на полу, трещины в стенах были замазаны чем-то и сверху покрыты краской (кстати, нифига не в тон подобрали :)), щели в окнах были толщиной в среднестатистический мизинец. НО! Находчивые проводники или пассажиры пытались заделать эти щели - все они были протыканы целофановыми пакетами, в которых выдают постельное бельё. Не знаю на сколько бы ветер задувал в вагон, если бы этих пакетов не было, но с ними поток был таким, что занавеску парусило. В общем, было так тепло, что Катя надела мою куртку, а я спал в джинсах, закутав ноги одеялом. Ложится головой в сторону окна мне не хотелось, дабы не отморозить остатки того, что осталось в ней, посему я спал головой в сторону прохода. Так же на окнах были сломаны занавески - они просто не держались в пазах, и жалюзи - ну не двигались они, а некоторые полки при тряске падали. Отдельным предложением хочу написать про ароматы, распространявшиеся со стороны туалета: вроде как обычно они присутствуют в непосредсвенной близости к источнику, а ближе к середине вагона пропадают, но этот вагон был пропитан ими насквозь.
В заключении о сервисе. Провдница один раз прошлась мокрой тряпкой по полу, но при этом не по всему вагону, а только по части прохода, из плюсов - в туалете был освежитель воздуха, из минусов - к утру он оттуда пропал, примерно в 21-30 пойдя почистить зубы на ночь в надежде вернутсья и почитать - обнаружил по возвращению, что свет уже отключили на ночь.
Вот такая поездочка. Как вывод - на фоне того, что недавно запустили новый современный поезд "Сапсан", существование таких клоак вызывает у меня недоумение. Сервис РЖД в целом развивается - чего только стоит онлайн регистрация на поезд, но остаются такие места, которые в общей статистике не заметны, но они не менее важны. Так как в таком вагоне я ехал первый раз в жизни, хочется верить, что и в последний, что это остаток прошлого, который просто не успели заменить и он докатывает свои последние рейсы перед уходом в утиль. Хотя, наверняка, было бы полезнее сначала избавиться от таких раритетов, а уж после заниматься показухой.