Thursday, December 31, 2009

Pro ASP.NET MVC Framework

Сегодня закончил читать книгу Стивена Сендресона «Pro ASP.NET MVC Framework». Книга очень хорошая, и как видно из названия, посвящена MVC фреймворку от Microsoft. Книга относительно свежая – апрель 2009, но уже устарела, т.к. описывает ASP.NET MVC v 1.0, в то время как уже вышел релиз-кандидат второй версии фреймворка.
В книге в общих чертах описывается, что такое MVC, затем автор переходит конкретно к ASP .NET MVC и доходчиво объясняет, что такое View, что такое Action, чем занимается Controller, и как это все связать с Model.
Начиная с четвертой главы, новый материал подается на фоне написания реального приложения - SportsStore. Четвертая и пятая глава самые сложные, их надо читать очень внимательно, потому что, лично для меня, в них было много нового материала. Часто приходилось перечитывать, а иногда и лезть в интернет, за уточнениями, но это того стоило.
Стивен много времени уделяет написанию unit-тестов и всячески побуждает читателей делать тоже самое и я с ним полностью согласен. Благодаря этой книге я, наконец, разобрался с тем, как правильно писать мок-объекты, понял, что такое Castle Windsor, и что с их помощью можно тестировать практически все что шевелится. :)
Пока, к сожалению, нет никаких идей для web-проекта, но я для себя решил, что следующий проект буду писать на ASP.NET MVC, иншаАллах.

Wednesday, December 30, 2009

Немного о лямбда-выражениях

Наконец-то хорошенько разобрался в лямбда-выражениях в C#. Сначала выносило мозг, но потом все стало понятно и очевидно. До сих пор неясно, почему MS и топ-девелоперы побуждают (в основном своим примером) всюду, где только возможно, использовать лямбда-выражения. Ведь зачастую они не так эффективны как вызов функции с использованием старых добрых циклов. Поясню на примере.
Допустим, что необходимо определить состоит ли заданная строка только из цифр. Ниже приведены четыре различных варианта реализующие эту функциональность.

    public static bool ContainsOnlyDigits_1(this string str)
    {
      for (int i = 0; i < str.Length; i++)
        if (!Char.IsDigit(str[i]))
          return false;
      return true;
    }

    public static bool ContainsOnlyDigits_2(this string str)
    {
      return str.Where(Char.IsDigit).
          Count().
          Equals(str.Length);
    }

    public static bool ContainsOnlyDigits_3(this string str)
    {
      return str.Count(Char.IsDigit).Equals(str.Count());
    }

    public static bool ContainsOnlyDigits_4(this string str)
    {
      return (from c in str
          where Char.IsDigit(c)
          select c).Count().Equals(str.Length);
    }


* This source code was highlighted with Source Code Highlighter.


Реализовать это можно еще сотней способов, но они мало чем будут отличаться друг от друга. Самыми красивыми и понятными мне кажутся первый и третий варианты. На мой взгляд, вариант с LINQом вообще сложно читать. Самым быстрым, очевидно, будет первый вариант. В подтверждение, я провел серию тестов – результаты на диаграмме.




В общем, не надо злоупотреблять лямбда-выражениями, тем более для простых вещей.

Saturday, December 26, 2009

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

Tuesday, December 22, 2009

Уже почти два месяца, как я приехал в Британию. Все это время разбирался с местными реалиями и искал работу. Хвала Всевышнему, я ее таки нашел. Прошел собеседования в 5 компаниях: 4 из них в Лондоне, одна в Кембридже. Компании разные, но в целом всюду (кроме одной) работа была бы для меня интересной. Результат: 1 отказ, 3 оффера, и в одной компании я отказался от второго собеседования, так как уже имел на тот момент хорошее предложение. АльхамдулиЛлах! Оффер, который я принял - это работа на Canary Wharf в банке HSBC. Затем, две недели, кадровое агентство и какая-то сторонняя контора проверяли мое темное прошлое, и лишь убедившись, что я не привлекался, не был замечен и не состоял, предложили подписать контракт. Что я собственно и сделал :). На работу после нового года, иншаАллах.

Saturday, December 19, 2009

New version of "Russian mosques"

New version of "Russian mosques" web-site has been just released.



Release Notes - Version 2.0

Bug

  • [RM-90] - Add proper error handling.
  • [RM-96] - ShowCityList.aspx: For two cities with the same name from different regions even if one of them doesn't contain any mosques, they are both enbolded.
  • [RM-97] - Fix problems with Session object.
  • [RM-98] - Application domain restarts unexpectedly.
  • [RM-100] - Fix view for IE6.
  • [RM-103] - ContactUs.aspx: The page generates exception.

Improvement

  • [RM-72] - ShowCity.aspx: Add links to mosques' icons on the map.
  • [RM-91] - ShowCity.aspx: Improve google maps' search query, to increase probability of finding required city on the map.
  • [RM-93] - Create urls for language changing.
  • [RM-94] - Create db connections' pool.
  • [RM-95] - Sort link in links-cloud alphabetically.
  • [RM-104] - ShowCity.aspx: Add "Mosques in {cityName}" caption to the title.

New Feature

  • [RM-92] - Create map of Russia and show all mosques on it
  • [RM-101] - Add abbility to delete a mosque
  • [RM-102] - Add abbility to delete a city

Task

  • [RM-99] - Profile the application and find memory impact places.
Кроме того, совместно с Данисом, была полностью заполнена информация о городах и было добавлено множество новых мечетей. В дальнейшем продолжаем работу над проектом в фоновом режиме иншаАллах. Если у кого есть идеи по функциональности, а также материалы, которые можно опубликовать на сайте, милости просим.

Avatar

Ходил на Аватара. В кинотеатр VUE в районе Islington. Порадовала автоматизация кинотеатра – в холе стоят аппараты по продаже билетов; выбираешь фильм, сеанс, категорию билета и место в зале, затем скармливаешь аппарату кредитку и получаешь билет. Обыкновенные кассы тоже есть, но кассиров там не было. Такое ощущение, что они работают только в часы пик. В остальном же все как обычно.
Кино хорошее. Про то как земляне (читай американцы) прилетели на планету Пандора добывать редкий минерал обладающий анти- гравитационными свойствами. На планете живут хвостатые дикари в набедренных повязках, с которыми пытаются наладить общий язык с помощью «аватаров». «Аватар» это искусственно выращенный абориген, сознанием которого управляет землянин. В общем, учат дикарей языку, пытаются привить западные ценности и все в таком духе. А эти граждане живут в полном симбиозе со своей планетой – у каждой твари есть интерфейс для подключения либо напрямую – либо через дерево. Т.е. подключаются они к деревьям и могут общаться друг с другом через километры (корни всех деревьев планеты переплетены), подключатся к «лошади» и могут на ней ездить, отдавая мысленные команды и т.д. И живут они поселениями у особо крупных деревьев (типа коммутаторов планетарного масштаба) . И надо-же такому случиться, что земляне обнаруживают под ближайшим таким деревом грандиозное месторождение искомого минерала. Ну и начинается: аборигенов просят подвинуться – они ни в какую, тогда вопрос пытаются решить силой. Один из аватаров – бывший морпех, ныне прикованный к инвалидному креслу, сильно сближается с аборигенами, проходит их испытание на смелость, охмуряет дочь вождя и становится членом племени. Короче этот Зверобой вместе с индейцами дает отпор земному агрессору.
В общем, мне очень понравилось. В кинотеатре крутят три версии – 2D, 3D и 2D (18+). Я ходил на 2D, и в принципе, понял в какой момент он отличается от 2D (18+) :). Кстати инопланетные тетки – хоть и хвостаты, очень даже сексуальны, тем более что не носят ничего кроме мааааленькой набедренной повязки и ожерелий слегка прикрывающих грудь :).

Tuesday, December 15, 2009

Уже вторую неделю сижу и жду результатов скрининга. Я вот не понимаю, как так долго можно проверять человека, только что (месяц назад) въехавшего в страну? Не совсем ясно и то, как они осуществляют эту проверку. От меня затребовали все мои паспортные данные со сканами главной страницы и визы + три референса + адреса проживания в России за последние 5 лет. С паспортом и референсами понятно – это можно проверить за один день. Но как, а главное зачем, они проверяют мои бывшие адреса? Такое ощущение, что отдел безопасности просто имитирует бурную деятельность. А я, честно говоря, уже немного кисну от сидения дома.
Запасаемся терпением, и ждем иншаАллах.

Sunday, December 06, 2009

Ходил сегодня гулять по Лондону. Зашел в Национальную Галлерею, посмотрел импрессионистов. К слову сказать, вход почти во все британские музеи – бесплатный. Разительный контраст с Россией, где вход мало того, что платный (ладно уж), так в музеях действует дискриминационная политика по отношению к иностранцам – для россиян вход 100 рублей, а для иностранцев 300 :). Лажа. Такая же лажа наблюдается с Парком культуры в Москве – вход платный, рублей 200 кажется, точно не помню. А вот в Гайд-парке не то что вход, даже туалеты бесплатные – что для Москвы вообще нонсенс. В общем, погулял я по Пэл-Мэлу, Пикадилям, зашел в Гайд-парк, почитал книжку на скамейке у пруда с лебедями. Было очень солнечно и тепло, хоть и немного ветрено. Много ходил и честно говоря немного устал :), но это того стоило.

Saturday, December 05, 2009

Сектанты

Вчера засек в нашей мечети таблигов. Я иногда хожу туда на ишу и обычно ухожу сразу после нее, а тут решил задержаться, с мыслями собраться, просто посидеть подумать - не тут-то было. Образовался кружок человек из 10 и началась какая-то лекция, хотя лекцией это было сложно назвать. «Лектор» минут 10 читал по книге о том, какую важную часть в Исламе занимает призыв, что без него никак, что это сунна, что обязанность исламского призыва лежит на каждом мусульманине без исключения, приводил какие-то доводы, а потом закрыл книгу, добавил пару слов от себя и завершил фразой: «Кто готов выйти ради Аллаха на 3 дня?». Услышав это, я хмыкнул, встал и ушел.
UPD: Немного подробнее о таблиговцах. Самое страшное, что многие из них – особенно рекрутеры из низшего звена и не подозревают в какое болото попали, и что реально кроется за их призывом :(.

Saturday, November 28, 2009

How to get a message of an exception in English.

Recently I faced with problem of getting a message of an exception in Russian language while running .NET 3.5 application. I don’t know why Microsoft decided showing exceptions’ messages using local language. Usually exception shouldn’t be shown to a user at any circumstances, and developers should handle them and show appropriate message to the user if needed. Personally I don’t know developers who can’t understand English, at least at basic level. So I think that exceptions should always be shown in English, rather than on other languages, because any developer can perform relevant google-search using English messages, and I’m not sure if he/she will get any results on his/her native language. For instance I haven’t got any results for Russian description of the exception, but I have got a lot for English original.
The only way to get English translation for an exception, is to change current culture to English (to “en-US” for instance) just before a place where the exception occurs or change the culture of whole application via its configuration file.

Thursday, November 26, 2009

Промежуточные результаты

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

Monday, November 16, 2009

Британская медицина.

У одной моей знакомой несколько дней назад вдруг ни с того ни с сего заболела нога, опухла и покраснела так, что на нее было практически невозможно наступать. Понимая, что так это оставлять нельзя, она отправилась в ближайший госпиталь. Стоит отметить, что девушка – русская (москвичка), паспорт имеет российский, визу в нем туристическую, а действие происходило в Лондоне. В госпитале ее встретили, спросили, как звать и где живет (на этот вопрос она не смогла ответить внятно, поскольку не помнила точного адреса). У нее не потребовали НИЧЕГО (ни одной справки, ни паспорта, ни свидетельства о регистрации) и сказали, что врач примет через 20 минут. Так и произошло. Ее приняла врач-терапевт, пощупала ногу, направила на снимок и к хирургу. Через 10 минут был готов снимок, и ее принял хирург и сказал, что ничего страшного – перелома нет, есть воспаление непонятной природы, и дал ей две пачки лекарств БЕСПЛАТНО. Велел принимать 4 дня, если не пройдет, то приходить снова, будут посмотреть. Вот он какой – волчий оскал капитализма!!!
Она с ужасом рассказывала о том, как она пыталась обслужиться в поликлинике в Москве – не по месту жительства. Куча бумажек, справок, несколько часов потраченного времени и подпись главного врача (которого как всегда нет на месте) - это лишь малая толика того, с чем ей пришлось столкнуться. Я вспомнил о том, как становился на учет в московскую поликлинику – это песня. Пойди туда потом сюда, сделай ксерокопию паспорта, сделай ксерокопию регистрации, напиши заявление, приходи завтра с 15:00 до 15:30, а лучше в понедельник и т.д. В итоге до врача доходил через неделю.

Friday, November 13, 2009

Великобритания. Первые впечатления.

Я в Лондоне. Хвала Всевышнему, добрался благополучно и поселился практически в центре – в доме викторианской эпохи. Снимаю в этом доме комнату за 100 фунтов в неделю. Зарегистрировался в полиции и приступил к поискам работы. Вакансий не очень много - примерно, как и в Москве, штук 15 в день. Пока выполняю тестовые задания, которые мне присылают рекрутеры. На сегодняшний день получил одно приглашение на собеседование. Сейчас усиленно готовлюсь. Вспоминаю структуры данных, алгоритмы, читаю Рихтера, и книжку про многопоточность.
Лондон пока не видел толком, разве что когда заходили на посадку и когда ездил регистрироваться в полиции :). иншаАллах на выходных выберусь посмотреть достопримечательности. Первые впечатления от Великобритании – очень положительные. Народ самый разный, на улицах смешение рас и наций. Рядом со мной англиканская церковь, а через стенку от нее мечеть. Вообще мечетей много, что радует. Жизнь не очень дорогая – дешевле, чем в Москве. Минимальная оплата труда, установленная законодательством – 5 фунтов в час. Дворники получают около 8-ми фунтов в час, т.е. здешний дворник получает две штуки баксов в месяц – легко! При этом еда – дешевле, одежда – существенно дешевле, лекарства – в разы дешевле (правда антибиотики просто так не купишь), медицина – реально бесплатная (даже для меня и моей семьи). Единственно, что дорого – транспорт. В общем, пока ни разу не жалею о переезде. :)

Monday, November 02, 2009

Мечети России.

Какой-то интернет-каталог самостоятельно добавил «Мечети России» в свою базу, написал грамотное описание (на английском) и сообщил мне об этом письмом. Мелочь, а приятно :)

Russian mosques is a well-designed, bilingual resource which catalogues over 200 mosques in the Russian Federation. Illustrated entries give information about the building, and to a lesser extent the community, with location indicated via Google maps. Contact details and URLs are provided for some mosques, and some entries include photos of both interior and exterior. Brief demographic and historical information about towns where mosques are located is also available. The project is supported by the Council of Muftis of Russia, but incorporates material from site users and open sources such as Wikipedia. Users may browse mosques in: Moscow; Kazan; Ufa; Astrakhan; Makhachkala; select via drop-down lists of region and city or click on a map. This site will be of most use to researchers of Islamic architecture and Islam in post-Soviet Russia.

Thursday, October 29, 2009

Екатерина II. Алмазная Золушка

Бушков как всегда в ударе. Пишет интересно и с большим количеством мелких деталей из жизни императрицы и ее современников. Все с большой долей сарказма. Часто лезет к ним в постель и в грязное белье. Вновь опровергает несколько устоявшихся стереотипов. Мне, например, всегда думалось, что княжна Тараканова существовала взаправду, и взаправду утонула в Петропавловской крепости. В общем, Екатерина II – хорошая была баба, много что сделала для державы, причем действовала не так радикально как Петр I. Три выигранные войны, подавленное восстание «хариджита» Емели Пугачева, постройка клиник и общественных школ, первые попытки избавиться от крепостного права, покровительство наукам и все в таком духе. Правда, была она очень уж любвеобильной - фаворитов (читай любовников) меняла как перчатки. Никак не пыталась бороться с ужасающей коррупцией, и с 99% вероятностью замочила своего законного супруга – Петра III. В общем чтиво хорошее – рекомендую.

См. также: Александр Бушков: «Неизвестная война. Тайная история США».

Thursday, October 22, 2009

DotTrace + "Russian mosques" = Profit!!!

Хорошая штука этот dotTrace, жалко только, что такая дорогая и так недолго работает в trial-режиме. Провел профилирование кода «Мечетей России» на выявление утечек памяти. При 15 одновременно открытых сессиях, объем отъедаемой памяти не превышает 10 мБ, причем основной потребитель памяти класс String (94%). Что с этим можно было сделать? А ничего нельзя, разве только вызывать сборщик мусора, при старте новой сессии, что и было сделано. Нагрузка на процессор, конечно, увеличилась, зато за лимит памяти, установленный хостером, больше не переваливаемся. Какой лимит установлен, кстати, тоже не ясно, но явно не больше 10 мБ – крохоборы. А dotTrace я бы купил, когда разбогатею – очень уж полезный инструмент. 

Monday, October 19, 2009

Мечеть в Бутово

Дело сдвигается с мертвой точки. Сегодня мусульмане Бутова начали сбор подписей в поддержку строительства мечети в Бутово. Дело за малым - выбить получить разрешение у мэрии, и в Москве станет на одну мечеть больше, иншаАллах.

Wednesday, October 14, 2009

Lenovo T500


Finally I collected required money, braced up, and bought a new laptop. IBM-Lenovo T500. Intel CoreDuo 2.4 GHz, 4 Gb RAM, 320 Gb HDD, 256 Mb discrete graphic adapter etc.
It will be a main working machine for next couple of years for my private projects and study as well as family entertainment center :).

Tuesday, October 13, 2009

Электронная книга Sony PRS 505

Попалась мне давеча в руки эта девайсина – попросили залить на нее книжек. Сразу скажу, что книга полное «Г». Ни за что и никогда себе такую не куплю. Да, она очень красивая, да классный металлический корпус, качественный кожаный чехол… на этом ее достоинства заканчиваются.
  • Во-первых, из поддерживаемых форматов только TXT, PDF и LRF (бинарный формат). Перевод из FB2 в LRF осуществляется сторонней софтиной fb2lrf.
  • Во-вторых, все файлы (из внутреннего хранилища + с обеих карточек) показываются вместе, и русские названия сортируются лишь по первой букве, а дальше как придется.
  • В-третьих, самый серьезный недостаток этого несчастного девайса – полное игнорирование дерева каталогов на носителях. Т.е. ВСЕ книги из всех папок, подпапок и подподпапок выдаются одним плохо сортированным списком. 
Единственная возможность как-то систематизировать книги – это так называемые коллекции, которые можно создавать с помощью специальных программ в частности eBook Library, которая ужасно тормозит и виснет при любом удобном случае. Я лично с ее помощь ничего не смог сделать. Спасает Norton Commander подобная программа Sony File Manager от энтузиастов, которая эти коллекции создает более менее нормально, но ее убогий, кустарный интерфейс сильно напрягает. Технически, коллекции реализованы просто ужасно. Список коллекций - это xml файл, кладущийся в корень устройства. Основными узлами файла являются коллекции, в каждой из которых есть набор дочерних узлов, указывающих путь к файлам. Т.е. вложенности коллекций тоже не наблюдается. Какой мега-мозг это придумал, остается для меня загадкой. 
Очень порадовался за отечественный автопром аналог читалки, о которой уже писал раньше. Это тот редкий случай, когда наши сделали лучше и дешевле.

См. также: Pocketbook 301

Wednesday, October 07, 2009

JIRA, Confluence, and Green Hooper, each for $10 only

And again Atlassian introduces special conditions for software purchase. If in April they proposed JIRA 4 - five-user license for $5, now they extended it to 10-user license for $10 only. Moreover, they are selling not only JIRA, now they offer almost all their product for such low price. It is a great deal! I’ve already purchased JIRA 4, Confluence 3, and Green Hooper 3, for $10 each. I wanted to buy Bamboo also, but became little greedy at the end, and decided that in the meantime I don’t need it, but it is really cool. 

Tuesday, October 06, 2009

Effective C#: 50 Specific Ways to Improve Your C#

Just finished reading “Effective C#: 50 Specific Ways to Improve Your C#” book by Bill Wagner. It is very outdated, but anyway describes best practices of .NET programming. The book was written for .NET 1.1. and contains useful information about this platform. Nothing new for me just set of rules that each developer must know and follow. The book is well-structured and informative with big number of examples. There are some formatting and misprinting problems though. There is more up-to date version of the book, written for .NET 2.0. I’d better recommend reading newer one.

Saturday, October 03, 2009

Мне 28 лет. Старость подкрадывается незаметно, но у зрелого возраста есть свои преимущества :) Вспомнил анекдот. Письмо в военкомат: "Поцелуйте меня в Ж, двадцать восемь мне уже". :)

Tuesday, September 29, 2009

Утечка памяти

Некоторое время назад стали возникать проблемы с сессией у «Мечетей России». Время от времени сессия слетала, причем без видимой причины. Стал копать, и понял, что слетает не сессия, а умирает целиком домен приложения. Инспекция логов ничего не дала, доступа к EventLog-у уровня Application сервера у меня нет, а на локальной машине все работает. Стал грешить на код - вернее на его недостаточную потоко-безопасность, как результат стал немного умнее, почитав интернет и проконсультировавшись на эту тему с коллегой. В результате внесенных изменений, код потоко-безопасный (на мой взгляд) а домен приложения все равно время от времени умирает, никого не спросив.
Написал в техподдержку с просьбой либо дать мне доступ к системным логам, либо самим посмотреть, что там происходит. Вчера пришел ответ:
Доступ к Application логу, к сожалению, не предоставляется.
Мы сделали выборку из лога, относящуюся к перезапуску пула, в котором работает приложение. Из лога видно, что пул перезапускается по причине отъедания доступных лимитов памяти.

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

Выборка из лога:

System 14829195 2009-09-17 03:25:06 2009-09-17 03:25:06 5117 4 Information event 0 None WAS 4024 | *****   A worker process with process id of '4024' serving application pool '****' has requested a recycle because it reached its private bytes memory limit.
System 14831941 2009-09-17 10:08:02 2009-09-17 10:08:02 5117 4 Information event 0 None WAS 5624 | *****  A worker process with process id of '5624' serving application pool '****' has requested a recycle because it reached its private bytes memory limit.
System 14833067 2009-09-17 12:37:01 2009-09-17 12:37:01 5117 4 Information event 0 None WAS 9096 | ***** A worker process with process id of '9096' serving application pool '****' has requested a recycle because it reached its private bytes memory limit.

Короче буду ставить профайлер и анализировать кто «отъедает» системные ресурсы. Если получится, то оптимизирую, если нет, то перейдем на более «старший» тарифный план, иншаАллах.

Monday, September 28, 2009

Recently I’ve realized that my writing English has improved for the last year, since I entered Mirantis (KLA-Tencor department). Huge number of business letters (which we have to write in English) has influenced on my skills, and now I can write almost any thought in English without using dictionary just like in Russian. Yes, maybe sometimes with minor inaccuracies in grammar or vocabulary, but almost fluently though. It is a great achievement I think. :) Alhamdulillah. 

Monday, September 21, 2009

Джейн Остин. Гордость и Предубеждение.

     Книга хорошая. Сюжет конечно типичный для дамского романа, хотя в принципе это и есть дамский роман. Хорошо показаны образ жизни и манеры английского дворянства начала 19-го века. Роман о пяти девицах – дочерях провинциального дворянина. В их захолустье на лето приезжает знатный и красивый молодой человек из Лондона, который сразу снискал довольство и расположение всей округи. Мамаши спят и видят как бы выдать за него своих дочерей, но все чинно так с балами и прочими атрибутами светской жизни. Молодой человек влюбляет в одну из сестер, его друг во вторую и всю книгу идет плавное развитие их отношений, решающими факторами которого (особенно для второй пары) являются такие человеческие качества как гордость (с его стороны) и предубеждение (соответственно с ее стороны). Следовательно, не все идет гладко, потому что он слишком горд своим знатным происхождением, а она введена в заблуждение относительно его порядочности. Надо заметить, что отношения очень трогательные и целомудренные – девушки не поднимают глаза на парней, общаются исключительно в присутствии других людей, и наедине со своими избранниками остаются только когда те подлавливают их, чтобы сделать предложение. Боковым сюжетом показана судьба малолетней безмозглой овцы – младшей сестры, которая убегает с одним картежником и балагуром и вообще бесчестным и аморальным типом. Данное событие вызывает сильный резонанс в обществе – вплоть до невозможности старшим сестрам выйти за своих женихов. Короче их находят, и подлеца подкупом заставляют на ней жениться.
     Что я хочу сказать. Люди, описанные в книге конечно джахили, хоть и ахль Китаб. Но даже они, (те из них, что причисляют себя к благородным людям) еще сто лет тому назад не допускали возможности не то что переспать до брака, но и просто за ручку подержаться. Да, случалось, что крестьяне или прислуга позволяли себе вольности, но для благородной женщины это было совершенно немыслимо. Вспомнил хадис Пророка (да благословит его Аллах и приветствует), когда после того как мусульмане вошли в Мекку он собрал вокруг себя всех решивших принять Ислам и стал перечислять им обязанности которые должен соблюдать мусульманин. В тот момент, когда он дошел до запрета на зинаа (прелюбодеяние), присутствовавшие при этом курайшитки сильно удивились. И одна из них спросила: «Зинаа? Разве может свободная женщина совершать зинаа»? (пишу по памяти, не ручаюсь за детали). Т.е. даже в то время, даже среди мушриков, этой мерзостью занимались только рабыни и низкородные. В наше время, когда юноша и девушка вступают в брак невинными, это вызывает в лучшем случае недоумение, а иногда их прямо обвиняют в слабоумии. Если девочка встречает выпускной вечер девственницей – это чуть ли не позор. Всему виной то, что раньше детей воспитывали гувернантки, родители и религия (в том числе и христианство), а сейчас воспитывает телевизор, тина канделаки и гзения общак.
     В общем... книга очень понравилась.

Ид Аль-Фитр мубарак!

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

Wednesday, September 16, 2009

Современные издательства искажают классические сказки

У нас дома есть три большие, красочные книги – сборники с известными и любимыми с детства сказками, такими как «Красная Шапочка», «Три поросенка», «Золушка» и т.д. Так вот НИ ОДНА из этих книг не содержит НАСТОЯЩИХ сказок – во всех бредовые версии, отдаленно напоминающие оригиналы, и в каждой книге эти версии свои. Такое ощущение, что издатели печатали сказки по своим смутным, тревожным, детским воспоминаниям или с пересказа бабушки, или вовсе по воспоминаниям с этого пересказа. Просто бредятина какая-то. В одной версии Красная шапочка несет пирожки с вареньем, в другой пирог и горшочек меда, в третьей вообще торт. Ладно бы только это. В одной версии волк долго пудрит Шапочке мозги и основной его целью является содержимое корзинки, а все манипуляции с бабушкой и Шапочкой – лишь прелюдия к поеданию пирога! В другой версии, волк-пацифист не ест бабушку с потрохами, а лишь насильно запихивает ее в шкаф, предварительно раздев! И нигде нет ключевой фразы «Дерни за веревочку, дверь и откроется». Ни в одной из версий волк Шапочку не съедает. Можно продолжать до бесконечности, абсолютно такая же картина и с другими сказками.
Господа издатели, я спрашиваю вас: «Что за лажу вы пихаете нашим детям»? Кто интересно допускает такое позорище? Может Фурсенке стоит обратить на это внимание? Теперь, прежде чем покупать, буду внимательнейшим образом читать все сказки прямо в магазине.

Monday, September 14, 2009

Юрия Брайдер, Николая Чадович. "Миры под лезвием секиры"

Недавно закончит читать серию "Миры под лезвием секиры" Юрия Брайдера и Николая Чадовича. Вернее закончил читать ее давно, но написать сподобился только сейчас. Трилогия понравилась, интересный мир и герои, в целом на 8 из 10. В результате катаклизма миры, разделенные в пространстве и времени, спаиваются в единое целое по образу лоскутного одеяла, каждый лоскуток которого примерно в пару сотен квадратных километров. Среди миров: Талашевск - город позднего совкового периода, африканская саванна, кусок средневековой Испании, монгольская степь первых веков нашей эры, кусок от города 23-го столетия и так далее: среди прочих затесался неведомый мир - "Эдем", в котором нет болезней и голода, люди живущие там ни в чем не нуждаются и ходят голышом, еще там растет чудо трава - Бдолах, пожевав которую, можно исцелиться от любой болезни. В общем, все три книги отряд вновь рожденной службы безопасности Талашевска в лице капитана милиции, бывшего уркагана, медсестры-нимфоманки, книжного червя и девушки-аккордеонистки, сражается с бандой заявляющей о своей "избранности" во главе которой тоже бывший уголовник по прозвищу Песик. Время от времени ватаге (самоназвание отряда) помогает Артем - путешественник между мирами. Помнится, года три назад читал "Евангелие от Тимофея" этих же авторов, так вот там этот Артем и появился - обыкновенный советский научный сотрудник, который был заслан своим НИИ, исследовать параллельный мир. Вот с тех пор он по мирам и шатается :). В общем, интересное чтиво чтобы расслабиться. Что мне понравилось, так это то, что у каждого героя своя подробная история, описана его судьба до, в момент и первое время после катаклизма. Хорошо пишут, душевно :).

Tuesday, September 08, 2009

В воскресенье вернулся из Махачкалы. Ездил туда на два дня, забрал Камилку с дедом и вернулся :). Рады безумно, ведь мы почти 5 месяцев не видели свою дочь. Хвала Всевышнему, она нас не забыла и очень обрадовалась, когда увидела сначала меня, а потом и маму. Такая умная стала, машаАллах, знает почти все буквы и цифры, умеет складывать и вычитать до 5 :), болтает без остановки и вообще… Короче, мы счастливы, альхамдулиЛлах. Дед у нас побудет с ней до конца сентября, а потом иншаАллах или Аризина мама приедет или Юля. Посмотрим иншаАллах. В Махачкале жарко, неспокойно и какое-то все там уже чужое и глаз не радует. Народ совсем одичал :(… Или мне так показалось, не знаю…

Sunday, August 30, 2009

New MCTS obtained

Last Thursday I passed 70-505 exam and now I can be recognized as Microsoft Certified Technology Specialist: Windows Forms Applications for .NET 3.5.
Next is to prepare and take 70-562 exam, inshaAllah. I’ve already attended 70-562 studying group (in Russian) and hope it will help to better concentrate on the preparation.

Wednesday, August 26, 2009

СубханАллах! Как же тоскливо встречать ифтар одному :(. В прошлом году дочка приносила стакан с водой для разговения... «На папичка, випей». Как же мне ее не хватает. Аризу хоть три дня в неделю вижу, а Камилку уже полгода не видел… В Бутово поеду сегодня иншаАллах. Там каждый день ифтары и таравих сразу читают…

Friday, August 21, 2009

Ramadan 2009

Наступил Рамадан. Хвала Аллаху Всевышнему, что Он дал нам встретить этот благословенный месяц. Сегодня взял отгул на работе, ибо первые 2-3 дня меня обычно жутко колбасит, а потом альхямдулиЛлах привыкаю. Сейчас занимаюсь домашними делами и "Мечетями России". Скоро на Джума а вечером на таравих иншаАллах. У меня сейчас такой душевный подъем, что, кажется можно горы свернуть, и в то же время на душе очень спокойно.

Wednesday, August 12, 2009

DotNet Color Chart

Sometimes it can be useful to see a .NET predefined color - one of the System.Drawing.Color properties. I didn’t find an easy way of doing so. For instance if a developer wants to know how exactly looks Color.DobgerBlue he or she should try it in the test application. I didn’t find a table or a chart for these predefined colors. So I decided to write simple application that shows all named colors from Color structure.
It is really simple, but after I wrote it, I can pick required color without guessing on how it looks.
Source code and binary file can be downloaded here.

US visa

Finally I've got my US visa. I'll be needed my passport for another embassy soon, so I was little bit concerned about getting my passport in time. Thanks God, they've returned it to me today.

Wednesday, July 22, 2009

Сергей Тармашев. «Древний». Катастрофа, Корпорация, Война.

Закончил читать трилогию «Древний». Очень понравилось. Хороший сюжет, продуманная динамика, не видно ляпов, разве что иногда в последней книге, чужие – представители Инсектората, в разговоре и в мыслях оперируют чисто человеческими образами. Но я думаю это сделано для упрощения восприятия. Действие трилогии начинается в недалеком будущем (2111 год), когда на Земле заканчиваются углеводороды и из-за них все чаще и чаще возникают боевые столкновения. В этой очень агрессивной среде бешеными темпами развиваются военная и сопутствующая ей отрасли (медицина, технологии). Строятся бункера – подземные убежища на случай ядерной войны, которые в мирное время используются как крупные научные/развлекательные/жилые/медицинские комплексы. В общем, в один прекрасный день, наступает жалкая пародия на ахр заман, и все начинают долбить друг друга ракетами с ядерными боезарядами. Спасается лишь небольшая часть населения, и именно в таких вот бункерах. Самый большой бункер находится недалеко от Новосибирска. В общем, охрана этого бункера – закаленные во множестве локальных конфликтов ветераны, – и являются главными героями книги. На первых порах, спасая бункер от внешних угроз, они получают смертельную дозу радиации и должны погибнуть через месяц, но местные ученые погружают их в анабиоз и будят лишь тогда, когда бункеру угрожает опасность. Через сотни лет в бункере живет лишь легенда о спящих «Древних», которые проснутся лишь в тот момент когда человечеству будет угрожать смертельная опасность... И...конечно же всех спасут... Дальше больше... :)

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

Saturday, July 11, 2009

Get letter code for a column index in Excel

Very often, when working with Excel via COM, selecting of particular range of cells might be required. For this purpose method get_Range() of Microsoft.Office.Interop.Excel._Worksheet class. It works only if we pass a range in the letter-digit format. Letters for columns and digits for rows, for instance call of get_Range("A9", "IV9") will get range of whole 9th row of the sheet. Sometimes, we do not know a letter code for current column. Usually we have several loops that iterate cells, forming ranges and putting data into Excel. I was surprised when found out what there is no way to get range without knowing a letter codes for particular columns. Of course we still can get a cell by calling Cells[i,j] property, but it is very slow way of forming a sheet. If we, for example, need export a large array of doubles to Excel, it is not very clever to iterate through the array and export its values one by one. Much better approach instead is to select a range that equals to size of the array and call set_Value() method passing the array into it. It is much faster and more convenient.
So I decided to write converter that will convert column index (0-255) to corresponding letter code (A-IV). The algorithm of columns’ naming used by Excel is pretty simple:

A-Z : 1-26
AA-AZ : 27-52
BA-BZ : 53-78
CA-CZ : 79 - 104
... : ...
IA-IV : 235-255

The regularity is obvious here, thus I wrote following code:

public static string GetExcelLetterCodeForColumnIndex(int columnIndex)
    {
      const string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      const byte lettersCount = 26;

      if (columnIndex < 0 || columnIndex > 255)
        throw new ArgumentOutOfRangeException("columnIndex is out of the range [0..255]");

      if (columnIndex < lettersCount)
        return alphabet[columnIndex].ToString();

      byte firstIndex = (byte)Math.Floor((double)(columnIndex/lettersCount - 1));
      byte secondIndex = (byte)(columnIndex - (firstIndex + 1)*lettersCount);
    
      return String.Format("{0}{1}", alphabet[firstIndex], alphabet[secondIndex]);
    }

* This source code was highlighted with Source Code Highlighter.

This method is safe and can be used without doubt. Here are testing code and test results:
[Test]
    [Category(("Utils_Tests"))]
    public void GetExcelLetterCodeForColumnIndex()
    {
      try
      {
        Utils.GetExcelLetterCodeForColumnIndex(-434923);
        Assert.Fail();
      }
      catch(ArgumentOutOfRangeException)
      {
        
      }

      try
      {
        Utils.GetExcelLetterCodeForColumnIndex(Int32.MaxValue);
        Assert.Fail();
      }
      catch (ArgumentOutOfRangeException)
      {

      }

      Assert.AreEqual("A",Utils.GetExcelLetterCodeForColumnIndex(0));
      Assert.AreEqual("IV", Utils.GetExcelLetterCodeForColumnIndex(255));

      const string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      const byte lettersCount = 26;
      byte currentIteration = 0;
      do
      {
        for (byte i = 0; i < alphabet.Length; i++)
        {
          for (byte j = 0; j < alphabet.Length; j++)
          {
            string testString = currentIteration < lettersCount
                     ? alphabet[j].ToString()
                     : String.Format("{0}{1}", alphabet[i-1], alphabet[j]);
            Assert.AreEqual(testString, Utils.GetExcelLetterCodeForColumnIndex(currentIteration));
            Debug.WriteLine(String.Format("{0}-{1}",testString, currentIteration));
            
            if (++currentIteration == byte.MaxValue)
              return;
          }
        }
      } while (true);
    }

* This source code was highlighted with Source Code Highlighter.


Initially I used byte variable as an input parameter and didn’t perform any check. But it is not convenient always to use byte variables in code and it is not safe to perform castings before passing int values into the method.

Wednesday, July 08, 2009

Russian mosques.

Today I’ve finished with implementation of “Map of Russia” feature for “Russian mosques” project. It looks like shown on the picture bellow. All icons are clickable.


Tuesday, July 07, 2009

Books

Закончил читать «Подростка» Достоевского, в очередной раз убедился, что Федор Михайлович законный пациент Кащенко. Это, каким надо быть психом, чтобы настолько срастаться со своими персонажами? Одно дело со стариком каким-нибудь, а тут с пацаном 20-тилетним – подростком. Очень хорошая книга. Хоть он славянофил и антисемит и наводит ложь на Ислам (временами), но пишет он, надо отдать ему должное, хорошо – всеми нервами наружу, отчего и за душу хватает, и думать заставляет.

Monday, July 06, 2009

Ислам в Судане... мда...

Недавно на одном из арбатских развалов, купил за 35 р. книжку «Религии стран Африки». Купил просто так, потому что долго шарился по прилавку, привлеченный лозунгом – «Все за 35р.», но ничего путного, за что не жалко было бы отдать такие деньги, кроме этой книжки не нашел :) Книга издана в 1967 году Институтом Африки Академии Наук СССР.

Открыл ее в первом попавшемся месте и реально припух.
Цитирую:


...В Республике Судан, как ни в одной другой мусульманской стране Африки, действует большое количество орденов, а именно:

  1. Кадарийя (Кадария, иногда называется Джайланийя) – наиболее многочисленный орден, имеющий более семи подразделений. Распространен большей частью в четырех северных провинциях – Северной, Кордофане, Голубой Нил и Кассаеле среди арабов, беджа и частично нубийцев.
  2. Бедавийя. Проник в Судан из Египта в начале XIX в. Имеется большое количество последователей среди арабов в крупных городах севера (Вади-Хальфа).
  3. Саманийя существует в Судане с начала XIX в. Его приверженцы – арабы провинции Голубой Нил и племя хамар в Кордофане.
  4. Шадилийя (или Магдубийе). В Судане распространился с XVIII в. В настоящее время имеет приверженцев главным образом в крупных городах севера (Хартуме, Бербере, Дамере), а также в горах по побережью Красного моря – среди бенджа
  5. Идрисийя и Рашидийя (ответвление ваххабизма) распространены среди населения Центрального и Восточного Судана. В Омдурмане имеется мечеть ордена Рашидийя.
  6. Орден Кхатмийя (или Миргханийя) широко распространен среди арабов Кордофана, в городах севера (в Хартуме, Бербере, Донгле, Вади-Хальфе), среди беджа в горах на побережье Красного моря, в районах Кассала, Гедареф, Галлабат.
  7. Исмаилийя. Этот один имеет приверженцев среди арабов Кордофана, особенно в районе эль-Обейд (среди арабских племен назир и бадаирийя).
  8. Тиджанийя. В Судане появился в XX в. В настоящее время имеютсая небольшие распространен особенно в Дарфуре (среди народов загава, маба, фор, тама, даго и др.), затем в Кордофане, Бахр-эль-Газале и в крупных городах.
  9. Сенусийя (орден сенуситов). В настоящее время имеются небольшие группы последователей этого ордена в Дарфуре.
  10. Ансари (или ансар). Эта мусульманская секта широко распространенна в Северных провинциях Судана.

    Ислам играет большую роль в народном просвещении в северных, мусульманских провинциях...
Я в шоке, дорогая редакция, от такого количества сектантов на квадратный метр. И это, заметьте 67-й год прошлого столетия. Почти все упомянутые выше секты это суфийские тарикаты. Богата Суданская земля чудесами, однако :).

Sunday, July 05, 2009

New version of "Russian Mosques"

New version of "Russian mosques" web-site has been just released.

Release Notes - Version 1.3 beta

Bug

  • [RM-70] - ShowCity.aspx: Postback doesn't occur when user changes current language.
  • [RM-73] - RelatedLinks control doesn't work properly.
  • [RM-74] - ErrorPage.aspx is not shown on error.
  • [RM-75] - AddEditCity.aspx is broken. Fix it!
  • [RM-81] - ForeignKeyReferenceAlreadyHasValueException occurs when editing/adding info for some cities.
  • [RM-87] - LoginPage.aspx: Object reference not set to an instance of an object when trying to open it in new browser window.
  • [RM-89] - AddEditMosque.aspx: City name displayed in English even if current language is Russian.

Improvement

  • [RM-76] - Increase size difference for a links cloud to clearly distinguish links in the cloud.
  • [RM-77] - ShowMosque.aspx: Add region name and a link to current city to the top of the page.
  • [RM-79] - Redesign the site.
  • [RM-82] - Localize Login control.
  • [RM-85] - Search optimization: On a citite's page add name of the city and "mosques" word to the title.
  • [RM-86] - Fix photo uploading controls' layout.
  • [RM-88] - AddEditCity.aspx: Fix layout of coat of arms adding control.

New Feature

  • [RM-71] - Add a link cloud to the main page.
  • [RM-83] - Create Statistics block.
  • [RM-84] - Create Random mosque block.

Tuesday, June 30, 2009

Programming Paradigms (CS107) in the Stanford University

When I have a free minute I’m watching this channel on YouTube. It is advanced computer science course in Stanford University (CS107). This is very interesting and useful course. It has already cleared up some points that were fuzzy for me. The course is about programming paradigms like a procedural paradigm, OOP, Concurrent programming and even Functional programming. There are several languages used for the course and C, C++, Scheme and Python are among them. The special respects to the teacher, for his clear explanation with big number of examples and for his friendly manner of teaching. If only I had such teachers when I was at University... Currently I’m on the third lecture and keep on watching.

Friday, June 26, 2009

Pocketbook 301

Купил папе электронную книгу. А-то он все жаловался, что у меня дома скучно; телевизора нет, почитать кроме технической литературы нечего :). Высказывался вроде того, что мы с Аризой неучи и книг вовсе не читаем. Тот факт, что мы читаем все в электронном виде им в расчет не принимался. Теперь посмотрим как он заговорит, прочитав пару книг через «читалку»:). Я ему записал всю классику русской литературы, сейчас скачаю зарубежную классику. На очереди зарубежная и русская фантастика + исторические произведения. У нас с ним в принципе вкусы совпадают, хотя он еще любит и всякие приключенческие романы. Сама книга порадовала, четкий шрифт, продуманный интерфейс ввода и качественный пластик. Самое главное поддержка кучи форматов (в том числе FB2, PDF и DjVu) и русского и украинского языков (я думаю, что там просто нормальную поддержку UTF-8 сделали). Чехольчик дефолтный правда хлипкий какой-то, но можно купить кожаный за недорого. Молодцы хохлы украинцы, сделали качественный продукт, который я так чувствую, обгонит всех своих конкурентов, по крайней мере на территории СНГ.

См. также: Электронная книга Sony PRS 505

Tuesday, June 23, 2009

Visa to USA

Через 2 недели заканчивается виза в штаты. Сегодня отдал документы на продление. Надеюсь, что в этот раз дадут быстрее иншаАллах (если вообще дадут кончено) и не придется ходить на собеседование.
В воскресенье приехали папа с Меджидом. Меджид будет поступать в интернатуру. Сегодня идут куда-то в учебный отдел, подавать документы. Так что я теперь не «один дома» :).

Thursday, June 18, 2009

Страна багровых туч...

Хорошая повесть – первая книга Стругацких. Наивная очень, но при этом интересная. Прочитал одним залпом. Книга о том, как авангард человечества штурмует Венеру, на которой обнаружено очень богатое месторождение тяжелых элементов. Ну и граждане ССКР (Союз Советских Коммунистических Республик) на новом планетолете «Хиус», сначала приземляются на поверхности планеты, а потом ее покоряют.
Акыда у них конечно неправильная – оголтелый атеизм. Но со своей целью ради идеалов «светлого будущего» они справляются, стиснув зубы. А преодолевать им пришлось много трудностей, начиная от венерианской флоры и фауны, заканчивая марш-броском на 100 км по выжженной пустыне с раненым товарищем на плечах практически без воды и кислорода. В общем, тем, кто не читал, рекомендую.

Monday, June 01, 2009

Болею...

С вечера четверга болею ангиной. Что ангина я узнал сегодня, посетив врача, а до этого думал ОРЗ. Ариза меня лечила компрессами, отварами, полосканиями. Конкретно помогло, альхамдулиЛлах, только врач сегодня сказала, что по-любому без антибиотиков не обойтись и прописала колеса :). Вот сижу дома один, грызу антибиотики и вообще всячески лечусь (врач в добавок к антибиотикам еще кучу всего прописала). Планирую иншаАллах, много читать, посмотреть третий сезон South Park'а на языке оригинала, продолжить ковырять WPF и еще чего-нить :).
Камилка написала мне вчера свое первое письмо. (Папа, паверь одакасики, я письмо написала. Букавки наимала и писала). Как летит время… субханАллах.

Monday, May 25, 2009

Дизайн для сайта

Задумал поменять дизайн «Мечетей России», стал прицениваться к фрилансерам-дизайнерам. Понял, что мне с ними не по пути – либо заламывают заоблачные цены (как будто в стране все хорошо, а кризиса и вовсе нет), либо откровенные школьники пытаются пихать лажу. Короче, пришлось вспоминать HTML, CSS и прочую дизайнерскую палитру инструментов. Потратил 2 выходных дня, но в результате, альхамдулиЛлах сделал сносный дизайн, который уже не стыдно показывать. Что-то надо еще с шапкой делать… иншаАллах на следующих выходных займусь.

Friday, May 22, 2009

«Неизвестная война. Тайная история США»

Закончил читать книгу Бушкова «Неизвестная война. Тайная история США». В принципе, Бушков Америки не открыл, но все равно было приятно почитать, про то, как еще в 18-м веке государственная пропаганда крутила мозги обывателям. Как толпы оголтелых идеалистов-северян, подвигнутые партией и правительством, рванулись освобождать «порабощенный» Юг, совсем не обращая внимания на тот факт, что на Севере полным ходом процветало рабство. Генерал Грант имел десятки рабов, Линкольн и вся его семейка тоже. При том что Джефферсон (президент конфедерации) своих рабов отпустил задолго до войны, то же самое можно сказать и о генерале Ли. Узнал, что помимо черных рабов были еще более бесправные белые рабы – серванты. И наиболее хреново им было именно на Севере а не на Юге. От хорошей жизни половину Нью-Йорка не сжигают. Уровень тогдашней северо-штатовской коррупции сравним с нашим сегодняшним, практически один в один. Тот же "распил", те же "откаты". Только у них это было 150 лет назад, а у нас продолжается и по сей день.
Бушков как всегда пишет очень живо и интересно, все с фактами, ссылками на первоисточники, т.е. это серьезный исторический труд, но читается на одном дыхании. Правда он в конце не удержался и посвятил заключительную главу "альтернативке", задавшись вопросом: «Что было бы, победи в той войне Юг»?
В общем, мне понравилось. Хорошая книга.

Monday, May 04, 2009

AcuShape

AcuShape description is available at official KLA-Tencor site. AcuShape is a product which our team is now developing.
AcuShape is the most flexible solution for enabling Optical Critical Dimension (OCD) measurements of complex structures for advanced devices, both in production and R&D. This optical CD measurement software package enables offline model creation and on-tool wafer measurements of two-dimensional and three-dimensional device structures. Jointly developed by KLA-Tencor and TEL, AcuShape is supported by the resources of two industry-leading companies. AcuShape is currently released on the SpectraCD-200 system. Availability on other SpectraCD systems will be announced in the coming months.


  • Fully flexible 2D and 3D modeling enables measurement of finFET, bulb RCAT, spacer pitch splitting, and other advanced structures
  • Fast library generation (generally 10x faster than previous-generation software) reduces development time for new models and libraries and lets users obtain production-ready results quickly
  • Small library size promotes easy sharing and distribution throughout the fab
  • Step-by-step modeling guides the user through the process of creating a library and gives feedback to assist in optimization

Wednesday, April 29, 2009

Subversion. Checksum mismatch error resolution

Yesterday I faced with SVN check in problem with one file. Error occurred during commit:

svn: Checksum mismatch for '.svn/text-base/SomeFile.cs'; expected: ' 87f768d98a23d7643d6a784869aee901', actual: '34251d64fa637df34a23781264fa784f'

I think that this happened because during versions comparison of the file I used Base and Previous versions and changed the Base one (I was trying to rollback my changes).
I googled over the Internet and didn’t find appropriate solution or workaround for this error. So I spent some time to solve the problem and now I know a solution that I’m sharing here.

UPDATE. Try 'svn cleanup' command first. It may help. If so all items bellow are excess. I didn't try it mysefls, but Ilya says that it helps sometimes.

If сleanup doesn't help, then try following.

Let’s say that our problem file’s name is SomeFile.cs.

1.First of all backup ALL files from the directory with a problem file.
2.Use svn info SomeFile.cs command to get an useful information about the file and it’s properties in a repository:

Path: SomeFile.cs
Name: SomeFile.cs
URL: http://svn.russian-mosques.com/repos/test/SomeFile.cs
Revision: 395
Node Kind: file
Schedule: normal
Last Changed Author: bashir.magomedov
Last Changed Rev: 122
Last Changed Date: 2009-04-04 16:43:13 +0300 (Mon, 04 Apr 2009)
Text Last Updated: 2009-04-21 21:18:16 +0300 (Thu, 21 Apr 2009)
Properties Last Updated: 2009-04-04 21:50:19 +0300 (Mon, 04 Apr 2009)
Checksum: /3L38YwzhT93BWvgpdF6Zw==

3.Copy value or URL property.
4.Go to the parent directory and delete directory that contains SomeFile.cs (Yes, delete whole directory with all files)
5.Run command: svn –co [URL]. But exclude file name from URL.
In our case: svn –co http://svn.russian-mosques.com/repos/test/
6. Copy files from backup to newly created directory, and go into this directory.
7. Commit your changes using: svn ci SomeFile.cs command.
That’s it.

Saturday, April 25, 2009

С каждым днем все больше и больше нравится JIRA. Просто замечательная система bug/issue трэкинга. После установки специального дополнения она (JIRA) даже показывает номера ревизий и список измененных файлов в SVN репозитории. Купил себе Enterprise лицензию на пять разработчиков за $5 (у них была такая акция в течении 5 дней). Вот поставил, заимпортировал в нее свои проекты, сижу наслаждаюсь :)

Friday, April 10, 2009

О нас пишут...

Хвала Аллаху, Господу миров!
Потихоньку, машаАллах, "Мечети России" становятся популярными. О проекте написал Islam.ru. После публикации, число уникальных посетителей за день перевалило за сотню, прислали информацию о нескольких мечетях, заинтересовались, пошли положительные отклики. Скоро иншаАллах, буду заказывать нормальный дизайн. АльхамдулиЛлах, народ проявляет живой интерес, значит не зря все делалось…

Monday, March 30, 2009

Язык программирования C

Возникла необходимость написать кое-что на чистом C. Так как писал на нем давно, еще в институте, и использовал только простые типы (без указателей), потребовалось его вспомнить, а вернее изучить практически с нуля. Купил книжку Кернигана и Ричи «Язык Программирования Си». Очень хорошая книга, все понятно и доходчиво изложено, временами правда недостает примеров и более детального объяснения, но если посидеть подумать с карандашом и листиком, то можно разобраться. Прочел ее быстро, за прошлую неделю. Но когда начал писать не тестовые примеры а решать реальную задачу, то толком ничего не выходит. Чувствую себя дебилом если честно. Отвлекает необходимость думать о том, что по какому адресу хранится, подсчитывать размер выделяемой памяти, подчищать ее за собой, а она еще и не подчищается… в общем ужас. Задача не такая уж сложная, на C# я бы реализовал необходимую функциональность часа за 2. А тут уже три дня мучаюсь, а воз и ныне там :(.

Thursday, March 26, 2009

New York

Уже 4-й день, как вернулся из штатов. Очень сильно плющило из-за разницы во времени. Третий раз возвращаюсь с западного побережья Америки и постоянно такое состояние. Позавчера проснулся в 2 часа ночи, так и не смог больше уснуть :) Сегодня вроде пришел в себя :). По пути домой, залетел на 8 часов в Нью-Йорк, вышел прогуляться, виделся с братом Агзамом. МашаАллах, хорошо пообщались, побродили по Манхэттену, потом он со мной в аэропорт поехал провожать.
Нью-Йорк, за те несколько часов, что я там был, впечатлил. Очень. Я бы хотел там пожить некоторое время. Если в Долине жизнь течет тихо и размеренно, то Нью-Йорк весь бурлит. Смешение архитектур и стилей, по дороге от аэропорта встречаются как обшарпанные многоквартирки так и 1-2-3 этажные домики (с велосипедами, газонами, и качелями). Манхэттен весь в небоскребах, местами грязно. Дорога от аэропорта до центра города (Madisson Square Garden) на поезде занимает 30 минут. Что еще понравилось, на каждом углу продаются халяльные хот-доги и другой фастфуд. Тележки или будки с большой надписью HALAL – обычное явление. Лишь на Манхеттене 3 мечети, а во всем Нью-Йорке я уж со счета сбился. Хорошее место Нью-Йорк. Было прохладно, особенно после Калифорнии, градусов 10, но солнечно. Народу, несмотря на субботу, была тьма. Все такие разные, и одеты как им по-кайфу. Понравился здоровый (2 метра минимум) блэк-американ в лимонно-желтом пальто. Оооочень много машин такси. Просто поток какой-то. В общем, такие дела.

Tuesday, March 24, 2009

Back to Moscow

Finally, I'm back to Moscow. AlhamduliLlah, I've got home evenly. Yesterday I had a recovery day to get accustomed to the time zone shift. Now I'm at the office. Need to continue the work I started in USA.

Thursday, March 19, 2009

Last Sunday I went to San-Francisco. Here is my photo in front of the bay. Golden Gate Bridge can be seen at the back, if gaze:).

Wednesday, March 18, 2009

Sunday, March 15, 2009

Джума

Вчера ходил на пятничную молитву в SBIA (South Bay Islamic Association). В принципе можно было поехать в мечеть в Санта-Кларе, но я там не был и не стал рисковать, поехал в уже знакомое место, чтобы зря не плутать. Народу было много, но вроде поместились все, и особо тесно не было. Если сравнивать с ситуацией в московских мечетях ты было просторно. :).
Проповедь была интересная, про пророка Ибрахима (мир ему), которого Аллах назначил имамом правоверных, после успешно пройденного им испытания. Далее говорилось про великих имамов прошлого, про знания, которые мы, мусульмане должны требовать неустанно на протяжении всей жизни, потому что имамом без знаний быть невозможно. В общем, все в таком духе. Мне очень понравилось.
Перед проповедью познакомился с одним братом, он заметив, что я приехал на такси, стал расспрашивать откуда я приехал и зачем так далеко ехал, и если мне надо, то он как раз сдает квартиры в домовладении расположенном в двух кварталах от мечети, чтобы не было так далеко ехать :). Поболтали, узнал, что двухкомнатная квартира с кухней, ванной, санузлом и прочими причиндалами практически в центре Сан-Хосе стоит 650$ в месяц. В который раз пожалел, что у меня нет грин-карты :). Этот брат также выражал свой бурный восторг политикой Обамы, который разрешил возобновить, и спонсировал исследования стволовых клеток. Когда узнал, что я из России, долго расспрашивал про то да се. В общем вот так :)
P.S. На фотографии имам SBIA Тахир Анвар.

Thursday, March 12, 2009

Work

Третий день хожу на работу в наш офис в Санта-Кларе. Работать в Долине это конечно что-то с чем-то, потрясающие условия и для труда и для отдыха. Несмотря на начало марта на дворе довольно тепло, всюду растут цветы, зеленая трава, расцвели деревья, а воздух чистый и прозрачный, особенно по утрам. По дороге на работу прохожу/проезжаю мимо офисов CISCO, CITRIX, eBay и Oracle, тут даже названия улиц айтишные, например Cisco way :). В понедельник обедали в одном ресторанчике - за соседним столиком сидели девочки из Oracle. 
Работы сразу навалилось много. Настал момент интеграции по одному из проектов, и оказалось, что не все так просто. А сейчас еще одну подсистему на меня повесили. Но ничего, иншаАллах справлюсь, тем более что работа интересная, даже очень! Практически не устаю, это чувствуется особенно после Москвы, в которой львиную долю энергии и сил отнимает метро. А тут добираюсь за 45 минут в спокойном, даже расслабленном режиме. Вот такие дела :)

Tuesday, March 10, 2009

South Bay Islamic Association

АльхамдулиЛлах, в мечеть (325 North 3rd St., San Jose, CA 95112) я вчера все-таки попал. Пришел почти за час до магриба, добирался 40 минут, причем на трамвае минут 25. Народу было немного, 7 человек. Мечеть понравилась – маленькая, человек на 150 – 200, но уютная. Имам и все замеченные мною прихожане – ханафиты. Хотя мне почему-то казалось, что в США большинство мусульман - ханбалиты. Аллаху Алим, ведь это совершенно не важно, так... наблюдение :)

Sunday, March 08, 2009

Недавно вернулся с прогулки, сходил в BEST BUY, купил переходник для американских розеток. Потом пошел в ближайший молл за продуктами, заодно пообедал в уйгурском халяльном ресторане. Порции конечно у них огромные, заказал куриный суп с лапшой и телятину с овощами, субханАллах, принесли здоровую супницу с супом и огромное блюдо с телятиной. Все не осилил. От отеля до этого ресторана 5 минут. Немного в другой стороне, примерно в 10 минутах пешком, находится еще один халяльный ресторан, но уже малазийской кухни. Кроме того рядом с ним масса других точек общепита, в которых присутствует разнообразный seafood. Так что с этим все в порядке. Вернувшись в отель, включил зомбо-ящик, после пары переключений наткнулся на шикарнейший документальный фильм об Иране. Типа американец ходит по Ирану и развеивает мифы и предрассудки, связанные с этой страной, бытующие на Западе. В общем вот такие дела. Сейчас иншаАллах поеду в мечеть. До мечети Мильпитаса без машины добраться сложно, надо делать две пересадки на автобусе, поэтому поеду в одну из мечетей Сан Хосе. Вроде не долго – по данным google maps 30 минут на трамвае и никаких пересадок. Ну там разберемся :)

I'm in Milpitas, USA


Yesterday (by local time) or today (by Moscow time) depends on how to count I came to USA. Currently I’m at a hotel in Milpitas, CA. Flight was pretty patient and I arrived without any adventures. Everything messed up, with the difference in time. Now is 8:11 AM local time and I’m going to find something for breakfast :). And at once will look around in Milpitas.

Sunday, March 01, 2009

New version of Russian-mosques

Выпущена новая версия проекта "Мечети России" (Russian mosques).

Release Notes - Russian-mosques - Версия 1.2 beta


Bug

  • [RM-58] - The same cities (equal names) from different regions are not distinguished
  • [RM-60] - Cannot edit information for the cities with same names from different reigions
  • [RM-67] - AddEditMosque.aspx page: Name of a city displayed in English even when currently selected language is Russian.
  • [RM-68] - HijriDate control: Transliteration from arabic is shown only in English even if Russian is currently selected language.
  • [RM-69] - ShowCity.aspx: False postbacks occure

Improvement

  • [RM-44] - Set user's language by default.
  • [RM-56] - Add current Gregorian date to the top of the master page just after Hijri date
  • [RM-59] - Enable HTML-formatting for cities and mosques.
  • [RM-61] - Move image generation from aspx page to a HttpHandler (abandon ImageToResponse.aspx)
  • [RM-63] - ShowCitiesList.aspx: Show region name for cities with same name from different regions
  • [RM-66] - Improve GoogleMaps query to show cities properly

New Feature

  • [RM-32] - Show related mosques on ShowMosque.aspx page
  • [RM-33] - Add related cities list to ShowCity.aspx page
  • [RM-54] - Create HijriDateView control
  • [RM-55] - Create Contact Us page
  • [RM-57] - Create small banner for RM project
  • [RM-62] - ShowCity.aspx: Show all mosques of a city on the city's map.
  • [RM-64] - ShowCitiesList.aspx: Add tooltip with region name to each city from the list.
  • [RM-65] - Add captcha validation

Friday, February 27, 2009

Приехал Леха Пшеничнов из штатов. Вчера с ним виделись – посидели с часик в чайхане, пообщались. Жалко, что подольше посидеть не получилось, его ждали в другом месте. Очень был рад его увидеть. Это человек, который научил меня правильно программировать и дал мне мощный толчок в моем развитии как специалиста, за что я ему очень благодарен. Пообщались душевно, жаль, что мало и до его отъезда еще раз не получится, он улетает в воскресенье. Ну иншаАллах еще увидимся :).

Wednesday, February 25, 2009

Евгений Красницкий "Отрок" (1-8 книги)


Закончил читать серию «Отрок» Евгения Красницкого, вернее даже не всю серию, а то, что написано на данный момент – 8 книг. Если сначала очень интересно: есть идея, хорошо прописанный главный герой и прочие персонажи, то к 6-й книге автор иссяк. Начинается такой бред сивой кобылы на утро 9-го марта, что просто хочется выкинуть книгу. Еле дочитал. Серия о нашем современнике, старом пне – кабинетной крысе, так называемом управленце, «психоматрицу» которого помещают в тело 12-го летнего отрока где-то в Туровском княжестве раздробленной Руси 12-го века. Засылают этого кренделя туда не абы как, а чтобы иконы тырил по нычкам, чтобы в наше время нычки можно было найти и иконы выгодно продать. Ну и в общем этот отроко-старик на протяжении двух лет книжного времени (8 томов) пытается всех учить жизни, и сам всячески завоевывает авторитет у аборигенов. Автора бросает из одной крайности в другую, то он с помощью героя собирается создать православный аналог ордена тамплиеров, то вдруг боярскую дружину местной болотной волхвы, то вдруг пацан начинает строить планы об объединение Руси под его (естественно, кого же еще?) сильной рукой. Естественно это все приправлено изрядной долей мордобоя, массой покрошенного в капусту народа, небольшим числом чертовщины и любовью к малолетней (12-13 лет) лекарке из местной медсанчасти. Надо отдать должное, мордобой и вообще батальные сцены очень хорошие. Дальше читать не буду, ибо конца края не видно.

Friday, February 20, 2009

DevDays 2009 (spring session)

Yesterday, I’d been to Microsoft’s TechDays event. There were three presentations only. They continue talk about Azure platform, but no-one can explain what exactly it is, but appeal to prepare to great changes in world :). The only useful presentation for me was Gaidar Magdanurov's one about ASP.NET MVC Framework with great and clear examples. Now I understand Microsoft’s approach to MVC pattern. But I’m not sure that I’ll switch to it from Web Forms, maybe I’ll use it for some part of applications, I don’t know. The event was conducted at MS representative in Moscow (very nice place, I’ve been there earlier). Not to many people were invited (about 50-70) and MS guys were available for some after-presentation discussions.

Tuesday, February 17, 2009

Is this piece of code OK?

At one of the job interviews I was asked this question for the following piece of code (see below). Few days ago I was putting my papers in order and found the sheet with the question. This code will compile and run, furthermore it will work as desired. But what’s wrong with it, however?

class BuildTable
{
public string BuildEmployeeTable(string lnamePrefix)
{
string cmd = "SELECT fname, lname, phone FROM Employee WHERE lname LIKE'" + lnamePrefix + "'";
SqlConnection sqlConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand sqlCommand = new SqlCommand(cmd, sqlConnection);
SqlDataReader sqlReader = sqlCommand.ExecuteReader();
string empTable = "<TABLE BORDER=3><TR>";
empTable = empTable + "<TH>Name</TH><TH>Phone</TH>";
while (sqlReader.Read())
{
empTable = empTable + string.Format("<TR><TD>{0} {1}</TD><TD>{2}</TD></TR>",
sqlReader["fName"], sqlReader["lName"], sqlReader["phone"]);
}
empTable = empTable + "</TABLE>";
sqlReader.Close();
sqlConnection.Close();
return empTable;
}
}

Sunday, February 15, 2009

Caspian sea


View from the central beach of Makhachkala. Video was taken on 02/10/2009.

Вернулся из Махачкалы

Вернулся из Махачкалы. Потихоньку прихожу в себя после поезда, готовлюсь к завтрашнему выходу на работу.  Камилка так обрадовалась моему приезду, каждый раз как приходил к ней (она у тещи) подбегала, обнимала за ноги со словами «Папка, поймала» и не отпускала :). Тяжело было оставлять их, но ничего не поделаешь; за ними там есть кому присмотреть, а мне надо зарабатывать деньги. Теперь девочки вернутся в Москву только в конце лета, но я сам постараюсь выбираться к ним почаще иншаАллах.

Wednesday, January 28, 2009

Work

Just to keep in mind for future. My current work includes work with such (or very similar) 3D models :)

Tuesday, January 27, 2009

Уже почти неделя как девочки уехали в Махачкалу. В доме пусто, никто не встречает у дверей и не говорит: «Папака, как диа, намана, ниче?» (Папочка, как дела? Нормально? Ничего?), никто не залазает на диван, держа в руках книжку: «Папака, идем ситать кижки месте» (Папочка, идем читать книжки. Вместе). Хандрить времени нету, но все равно так грустно. Ариза уже почти 3 недели кашляет, сегодня с утра сделала рентген и сдала кровь на общий анализ, диагноз – левостороння пневмония. СубханАллах, где она ее умудрилась подхватить :(. Теперь вот ждем врача, чтобы она прописала антибиотики. С одной стороны даже хорошо, что они сейчас в Махачкале; есть, кому за Аризой ухаживать и Камилку на себя брать пока мама болеет. эХЪ… Вот такие дела.

Wednesday, January 21, 2009

Мечеть Норильска

Продолжаю потихоньку наполнять данными базу "Мечетей России".
Очень понравилась фотка соборной мечети Норильска. Поразительный контраст золотого купола мечети и промышленного пейзажа.