December 2008 Blog Posts

SQL Server 2008: FILESTREAM

30 December 2008 |

В SQL Server 2008 появился новый тип данных FILESTREAM.

Хранилище FILESTREAM объединяет компонент SQL Server Database Engine с файловой системой NTFS, размещая данные больших двоичных объектов (BLOB) типа varbinary(max) в файловой системе в виде файлов. С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и выполнять резервное копирование данных FILESTREAM. Интерфейсы файловой системы Win32 предоставляют потоковый доступ к этим данным.

Звучит любопытно, если файлы это просто разновидность данных в вашей информационной системе, то работать с ними логично через СУБД. Тем не менее из-за производительности часто приходилось выбирать хранение файлов в файловой системе.

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

А теперь самое важно проблемы:

Самая раздражающая проблема, это работа с таблицей содержащей столбец FILESTREAM через "SQL Server Management Studio". А именно после добавления в таблицу какой-либо столбец с ограничением NOT NULL, доступ к данным столбца типа FILESTREAM становится не возможен, скорее всего дизайнер просто не поддерживает тип FILESTREAM и воспринимает его как varbinary(max) без атрибута FILESTREAM.

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

Сложилось впечатление, что тип данных FILESTREAM хорошо подходит, если нужно обрабатывать файлы прямо на сервере. Неудобства работы с новым типом данных есть, но в замен Вы получаете транзакционность, хранение файлов в "одном" месте - удобство backup-а. Если выбирать между хранением в файловой системе или в столбце типа FILESTREAM, то скорее всего надо выбирать FILESTREAM.

Religion: Occasions

28 December 2008 |

Совсем еще недавно христианство выступало не только против науки, но и против технического прогресса. Всего лишь два примера. В это трудно поверить, но митрополит Московский Филарет (1782-1867 гг.) пытался противодействовать строительству в России железных дорог (!), утверждая, что они наносят ущерб религиозному рвению богомольцев. Бурю возмущения среди духовенства вызвал в 1903 году проект сооружения в Москве метро. Церковь решительно осуждала саму мысль о строительстве подземной дороги, называя это "греховной мечтой" и заявляя, что, оказавшись под землей, в "преисподней", пассажиры могут попасть в царство сатаны и погубить свои души. Под давлением московского духовенства городская дума проект постройки метро отклонила.

Время собирать камни...

Internet Zombie - Массаракш

26 December 2008 |

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

...в пакет социально значимых интернет-ресурсов предлагается включить сайты президента РФ и правительства...

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

ВГТРК предложила сформировать
социальный пакет интернет-ресурсов

Есть вопросы? Вопросов нет.

The Gun

26 December 2008 |

А маленькие люди без оружия не люди,
Все маленькие люди без оружия мишени...

У Яндекса есть сервис: "статистика запросов". А вот любопытная корреляция, которую можно увидеть по запросу: купить оружие.

Бог создал людей, а полковник Кольт уравнял их в правах.

Классическая проблема нужно ли разрешать свободное ношение оружия или нет. Тема очень популярна и обычно вызывает ожесточенные споры, при это часто аргументы сторон очень спорные.

Есть мнение, что модель примерно такая: чем более правовое государство тем более оно либерально относится к ношению оружия и одновременно тем меньше у людей необходимости/желания носить оружие, и чем меньше люди защищены государством тем более оно склонно запрещать ношение оружия и тем более оно необходимо/желаемо людьми. Все просто, если тебя защищает закон, то оружие не к чему, если не защищает, то нужно защищаться самому (возможно даже от того же государства). В такой модели возникает вопрос: свободное ношение оружие приводит к правовому государству или же правовое государство приводит/влечет свободное ношение оружия. Ответить на этот вопрос вам поможет знание истории...

Universal Declaration of Human Rights

22 December 2008 |

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

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

Всеобщая декларация прав человека.
(от 10 декабря 1948 года)

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

Winter Fishing + AutoCollage

22 December 2008 |

Сезон зимней рыбалки открыт.WinterFishCollage Любопытная программа AutoCollage 2008, была недавно выпущена Microsoft. Как видно из рисунка и из названия, программа предназначена для составления коллажей. Программа имеет один, но серьезный недостаток: она платная 20$. Чтобы оправдать такую покупку ей надо достаточно часто пользоваться, может быть для кого-то будет целесообразно приобрести данный продукт.

Песни нашего двора...

22 December 2008 |

TV Zombie - Массаракш

18 December 2008 |

На реализацию программы планируется потратить в общей сложности около 120 миллиардов рублей, из которых 80 миллиардов выделят из федерального бюджета.

Государство не планирует бесплатно распространять приставки для приема сигналов цифрового телевидения. Впрочем, не исключено, что соответствующие приемники будут предоставляться малоимущим региональными властями.

В «обязательный пакет» цифрового телевещания в России
войдут восемь каналов

Прочитайте коротенькую новость, задумайтесь, математика сначала теорема, а потом идут следствия - что-то очевидно вытекающие из истинности теоремы.

Заботятся, как в армии, за вас подумали и решили, только выполняй команды... красота. Жаль технологии не поспевают, а то бы прямо в голову приемники вкрутили.

"За то чтобы смотреть федеральные каналы должен платить не я, а должны платить мне." поэтому уже давно отказался от услуги телевизионная антенна в коммунальных платежах. Приятно, что государство считает так же, одно плохо это деньги государства, а значит частично мои, получается что все таки мне приходиться платить.

Aphorism Gadget Evolution

17 December 2008 |

Десять дней назад рассказывал о применении Web технологий jQuery + Jsonp + WCF на практике. В качестве примера был представлен gadget для этого блога, который каждый раз при загрузке показывает произвольный афоризм из базы данных. Его можно наблюдать в блоге - правый столбец - вверху.

По самой технологии feedback не было, но были люди которых заинтересовала такое расширение функциональности блога. Даже были советы исправить орфографические ошибки в некоторых афоризмах.

Для редактирования пользуюсь обычным Widows приложением, которое работает через Web сервис. С технической точки зрения нет проблем, чтобы передать этот клиент в общее пользование, но интуиция подсказывает, что им никто не будет пользоваться. Поэтому была добавлена возможность создавать/изменять/удалять афоризмы прямо из блога и подписываться на rss - новые афоризмы.

Связка jQuery + Jsonp + WCF не очень то поддерживает безопасность, по этой и по причине удобства использования, функциональность редактирования была сделана с помощью модерируемой очереди запросов на изменение.

Навряд ли всей этой функциональностью кто-то, кроме меня, будет активно пользоваться - нет мотивации. Поэтому если кому то нужен программный сервис для доступа к афоризмам, к примеру для встраивания в свой Web ресурс, то просите, и воздастся Вам.

Religion: Bible "The End"

16 December 2008 |

И вот Библия прочитана. Накопилось много цитат, записей, вопросов, мыслей, но просматривая их мне кажется они ничего принципиально нового не добавят к сказанному в предыдущих статьях, которые дают достаточно точное представление о Библии:

Конечно ещё много частных вопросов, на всякий  случай перечислю, темы которые запомнились:

  • библия как источник антисемитизма
  • библия как учебник истории
  • пообещал и не выполнил - стиль Бога
  • смысл жизни для верующего, есть ли он
  • Христианство, ... , Кашпировский, ... : заполните ряд
  • женщина или курица не птица
  • язычники резать или не резать, мнение Павла
  • трудно ли пройти сквозь игольное ушко или насколько богатым можно быть

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

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

Всё вышесказанное моё личное мнение, на которое имею право по закону, пока что ещё кажется имею...

От планов (Religion: How Know) познакомится со всеми основными религиями не отказался. Следующий Ислам - Коран, но необходим отдых, поэтому Ислам тема следующего года.

Theory Of Broken Windows

15 December 2008 |

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

Мусор на улицах ведет к росту преступности

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

Не нужно, чтобы все общество состояло из свиней достаточно небольшого количества активных, может быть даже искусственно выведенных/завезённых. Этого достаточно, чтобы достичь предсказуемого результата. Что же делать, просто будьте социально ответственны в каждой конкретной ситуации. Разруха не в клозетах, разруха в головах.

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

Каждый сможет легко сделать много других выводов, теперь уже опираясь на научную теорию подтвержденную экспериментальными данными.

Religion: Jesus Come In

11 December 2008 |

Знакомство с Библией продолжается. Начинало казаться что про Иисуса ничего в Библии сказано не будет, но нет, прочитав 4/5 от всего увидел текст, который обычно ассоциируется с Христианской религией. Он сильно отличается от всего предыдущего, можно даже сказать, что идеологически противоречит почти всему что говорилось ранее.

С одной стороны око за око, с другой подставь другую щеку, и так во всем... Кому же верить Господу богу или сыну его. То что говорит Иисус более симпатично, но существующая двойственность позволяет верующим людям оправдывать свои действия ссылаясь по своему желанию, либо на то что говорил Бог, либо на то что говорил его Сын, по обстоятельствам. Любопытное наблюдение, противоречит сложившемуся стереотипу о догматичности религии, но по сути догма только одна верь в эту и только эту религию, она единственно верная, а во что конкретно верить это уже не важно, верь во что нравится, только будет преданным.

Не стоит спешить, надо дочитать до конца, посмотрим что будет дальше. Может потом выяснится, что 4/5 текста это такой розыгрыш и все не правда.

Some From Life

09 December 2008 |
MetroDigger

Просто фото необычной жизненной ситуации... что мы видели.

jQuery + Jsonp + WCF

07 December 2008 |

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

Есть небольшая база, в которую записываю высказывания/афоризмы, если они показались мне любопытными. Идея заключается в том, чтобы каждый раз при загрузке страницы блога, случайным образом отображался один из афоризмов. Начальные условия таковы: есть блог который ведется на blogspot (Google), у меня есть доступ на уровне формирования страницы HTML + JavaScript, с другой стороны домашний Web сервер. Напрашивается решение построенное на технологии AJAX, все выглядит просто.

Имея такие предпосылки переходим к практике. На домашнем сервере был развернут Web сервис построенный на технологии WCF. В результате знакомства с практическим аспектом технологии AJAX было принято решение использовать готовую библиотеку, а именно JQuery(Microsoft берет на вооружение jQuery). Написать клиента JavaScrip для сервиса тоже не вызвало труда, но как это обычно бывает, если всё идет хорошо, значит Вы чего-то не замечаете. Оказалось, что AJAX имеет серьёзное ограничение, а именно проблемы с cross-domain вызовами(вызовы между доменами), что в практическом плане означает, невозможность вызова Web сервиса моего домашнего компьютера со страницы загурженной из другого домена (blogspot.com), по соображениям безопасности. Если на всё что описано выше было потрачено несколько часов, то на решение проблемы cross-domain ушло больше дня. Конечно с этой проблемой столкнулся не я первый и в интернете достаточно информации по этой теме, одним из наиболее адекватных способов её решения - технология JSONP, которую поддерживает jQuery. Казалось бы бери и используй, но использовать связку JQuery - jsonp - WCF вот так сходу не получиться (такое бывает когда используются технологии от различных производителей). Но не это самое страшное, самое страшное, что найти пример использования этой связки в интернете не удалось. В последствии выяснилось почему, чтобы запустить такую связку надо на уровне Http модуля менять ответ от WCF сервиса и тогда всё заработает. Если бы не статья Calling Remote ASP.NET Web Services from JQuery наверное не удалось бы решить эту проблему.

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

ДТП Final

04 December 2008 |

Пришло время подвести итоги по заметке Help: ДТП. Как и предполагалось сотрудники ГИБДД сделали всё возможное и в очередной раз продемонстрировали свой профессионализм, по тонкими, мудрым выводами невольно замечаешь сколько работы было проведено по этому делу:

DTP_Report

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

В окончании хочется пожелать быть осторожным если встретите на дороге "Форд" М 406 ТУ 42 под управлением Полосухина Николая Валентиновича. Как известно мир тесен, земля круглая, и все может быть.

Energy-Saving Lamps

03 December 2008 |

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

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

ElectricityValue

Визуально можно увидеть, что потребление уменьшилось. Принимая во внимание тренд и реальное уменьшение показания, можно считать, что энергосберегающие лампы экономят 1Квт/ч за день. Попробуем провести качественную оценку эффективности использования этих ламп. Действующий тариф 1,66 Руб/КВт, значит каждый месяц платиться на 1,66*30*1 = 49,8 рублей меньше в случае использования энергосберегающих лампочек. Всего было заменено 7 ламп, одна обычная лампа стоит 10 рублей, одна энергосберегающая стоит 140 рублей, предположим (частично поверим) что срок службы энергосберегающих ламп в 4 раза дольше чем обычных. Тогда получается, что разница в цене ламп за срок использования энергосберегающей лампы составляет (140 - 10 * 4) * 7 = 700 руб. И заключительный штрих, за какое время окупиться использование энергосберегающих лампочек: 700/49,8 = 14,1 месяцев, т.е. чуть больше 1 года. Конечно это качественная оценка, но самая важная ее характеристика, что сделана она на реальных данных из жизни, и есть основания полагать, что она больше отображает реальное положение дел, чем надписи на лампочках и рекламные/пропагандистские заявления.

DynDNS

01 December 2008 |

Скорее всего многие знакомы с принципом сети Интернет: все компьютеры входящие в сеть равнозначны. Это означает, что сервер Google, так же взаимодействует с сетью как Ваш домашний компьютер. А значит Вы имеете возможность сделать так, чтобы ваш компьютер сходным образом отвечал на запросы сети, говоря проще, создать свой сайт или Web сервис. Вот такая не хитрая цепочка рассуждений заставила задуматься о практической стороне этого вопроса. Можно ли это сделать и если да то как?

Первая проблема которая лежит на поверхности, это динамический адрес, то есть время от времени адрес компьютера в сети меняется, поэтому либо можно заплатить вашему провайдеру за услугу статический IP адрес, либо клиент должен иметь возможность каким либо образом узнать Ваш текущий адрес. На практике редко приходится указывать адрес компьютера с которым Вы хотите соединиться, существует Domain Name System (DNS), которая как раз и отвечает на вопрос: какой сейчас адрес у интересующего вас ресурса(компьютера). Но DNS плохо поддерживает частую смену адреса, которая происходит в случае подключения к интернету не через статический IP адрес. Если нельзя, но очень хочется, то можно. Существует сервис DynDNS.com который как раз и позволяет решить проблему частой смены адреса вашего компьютера. Идея очень простая, каждый раз когда изменяется адрес вашего компьютера Вы оповещаете сервис.

Вторая проблема, с которой можно столкнуться, это то что как бы это странно не звучало, работая в сети интернет Ваш компьютер не подключен к сети. Это достаточно распространённый сценарий, к примеру, компьютеры подключены через маршрутизатор, это означает, что не компьютеры подключены к сети, а маршрутизатор подключен к сети. Согласитесь на маршрутизаторе трудно разместить какие либо сайты, поэтому придется приложить дополнительные усилия. На практике оказалось, что в маршрутизатор встроена поддержка dyndns.com и перенаправление входящих запросов на нужный внутренний компьютер.

Вопросы связанные с firewall есть, но носят чисто технический характер и говорить здесь особенно не о чем.

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

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

Religion: Bible "кто" такое хорошо

01 December 2008 |

Есть много примеров когда бог наказывает людей "плохих", либо без уточнения, что это за люди, поэтому возникает вопрос: Как Бог отнесется к человеку который ведет праведную жизнь, даже больше, очень праведную, за исключением одной мелочи - он не верит в Бога.

Вопрос искусственен, потому что ответ достаточно ясно следует из Библии: Хуже чем к человеку который вёл абсолютно противоположный образ жизни... То есть вера в бога необходимое условие, а все остальные приравниваются между собой, отношение к ним одинаково и не важно если человек сделал больше добра окружающим, чем все верующие вместе взятые, важно что он не верит. Раскаивающийся убийца, подлец и негодяй будет выше в глазах бога, чем человек делающий всю жизнь добро. Чтобы сделать такой выводы, не нужно долго изучать Библию, достаточно задуматься о том что написано. А какое будет мнение среднестатистического верующего человека? А какое будет ваше личное мнение относительно человека, согласного в этом вопросе с Богом?

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