31 дек. 2009 г.

Avianova, полет второй

Рейс задержался на полчаса - ладно, бывает.

О задержке рейса небыло предупреждений ни по селектору, ни как либо еще. Заранее узнать о том, что рейс задерживается я смог только в справочной службе - за 10 минут до запланированного окончания посадки (к этому моменту она еще не началась). На самом деле это была уже вторая задержка этого рейса - первая была на 5 с лишним часов. Avianova знала о ней заранее и когда я покупал билет у меня время было указано уже с этим смещением. Рядом со мной летела пара, они покупали билеты за месяц. Их никто не предупредил о том, что рейс переносится. В результате они провели в аэропорту дополнительно 5 часов + нарушены планы на время после прилета. Изначально самолет должен был прибыть в Курумоч около 22.10, а прибыл примерно в 02.30

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

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

В отличие от первого полета на авианова - сейчас лечу в середине салона. Салон Аэробус А320 действительно значительно более просторный, чем в ТУ-154. В Ту-154 чувствуешь себя консервами, тут же в пресле сидеть вполне просторно и ногам места хватает. В общем комфортно.

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

Мы с соседом еще посмеялись - мол кому этот жилет нужен, но наверное были прецеденты. Зря смеялись. После посадки в автобусы нам объявили, что будет проведен досмотр на выходе из аэропорта, т.к. пропали два спасательных жилета.

28 дек. 2009 г.

"Волшебное слово от Яндекса" или Яндекс спамит....

Сегодня прислал письмо с каким-то поздравлением и ссылкой на свой сайт.
Кроме того что на поздравления я не подписывался, в письме практически отсутствует текст, только картинка, которую спам-фильтр не может проанализировать + при щелчке по картинке ссылка на внешнюю страницу, по которой в теории можно проверить кто из получателей туда перешел и кому слать спам в наиболее активном режиме (по этой ссылке такого вроде сделать нельзя, т.к. параметры никакие не передаются, но в принципе ссылку можно было засунуть любую).
В итоге честно нажал "Report spam".

25 дек. 2009 г.

Выключить оптимизацию в Delphi

Проблема

При отладке кода в Delphi появляется сообщение о том, что переменная недоступна из-за оптимизации - Variable 'i' inaccessible due to optimization
Причина
Delphi так оптимизирует код, что отладчик потом этой переменной не видит
Решение
Добавить в начало отлаживаемого файла директиву {$OPTIMIZATION OFF}

24 дек. 2009 г.

Общение с роял-сервис по ICQ

Цитата:
novacxarmulo (23:48:38 24/12/2009)
Здравствуйте, мне на счет сегодня были зачислены 60 рублей?
ТаксиРоял (23:49:37 24/12/2009)
ага
Я еще как-то понимаю, когда клиенты так пишут - им пофиг, им всё можно. Но операторам считаю так отвечать непозволительно.

Ян Амос Коменский, избранные педагогические сочинения том 2

Основоположник школьной системы, многие из его идей и систем применяются до сих пор.
Коменский Ян Амос избранные педагогические сочинения, отедльные произведения, том 2

23 дек. 2009 г.

Тихие соседи

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

21 дек. 2009 г.

RAM/ROM/Оперативная память и т.д.

Давно уже удивляюсь почему везде в коммуникаторах пишут объем RAM/ROM
RAM (Random access memory - память с произвольным доступом) - оперативная память, это понятно
ROM (Read only memory - память только для чтения) - под этим обычно подразумевают размер встроенной флешки, на которой можно что-то сохранять и никак это с "только для чтения" не вяжется.
Сегодня нашел менее распространенную ошибку
"Этот вопрос тем более критичен, что, как уже отмечалось выше, операционная система позволяла устанавливать приложения только в оперативную память."Статья
Ну это уже совсем никуда не лезет. В оперативную память программы устанавливались на КПК/коммуникаторах с Windows Mobile 2003 и раньше.
На самом деле в этой статье имелось ввиду, что программы устанавливаются на встроенный накопитель (встроенную флешку скорее всего).
Иногда создается ощущение, что основную массу таких вещей пишут люди технически не образованные, а остальные почему-то за ними повторяют (RAM/ROM уже стандартом стало).

19 дек. 2009 г.

Corbina|Beeline Sip ошибка 400 Bad Request

Проблема
После объединения корбины с билайном вдруг перестала работать SIP-телефония, которой до этого регулярно пользовался. При звонке на любой номер ошибка 400 Bad Request
Причина
Был установлен пароль, состоящий только из цифр
Решение:
Поменять пароль.
История вопроса:
Несколько дней ожидания, пока само поправится, около 2-3 часов висения на телефоне с поддержкой (из них около часа подряд непрерывно), потом два письма на email [email protected], ответа на которые я так и не получил. И вот в 4 утра в ночь на субботу мне удалось быстро дозвониться до поддержки и мне сказали: поменяйте пароль и я поменял и всё заработало...
Попал в этот раз на оператора в хорошем настроении - когда он предложил меня соединить с инженером, и я сказал - уж лучше на почту, чем полчаса висеть и инженера по телефону ждать - тот сказал подождите минуту и через 5 минут соединил меня сразу с инженером, которому сразу, сам передал номер моей заявки.
Вот интересно - это было сделано первый раз за всю историю общения с корбиной/билайном/другими поддержками - что человек, на которого тебя переводят УЖЕ введен в курс дела и мне не нужно объяснять ему заново в чем проблема.

10 дек. 2009 г.

Удобная налоговая, часть 2

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

9 дек. 2009 г.

"Удобная налоговая"...

Дорогие граждане нашей великой страны,
Мы любим вас всем своим существои
Мы создаем законы, чтобы вам комфортно жилось
Мы ограничиваем вашу свободу лишь в той степени,
Чтобы она не мешала быть свободным другим гражданам
Мы собираем налоги только для того,
Чтобы содержать инфраструктуру государства на ваше благо
Мы создаем удобные инструменты для общения между вами и государством
Мы требуем только те документы, которые действительно необходимы
Мы сами делаем всю черновую работу, спрашивая с вас лишь необходимый минимум,
Потому что вы платите нам зарплату за то, чтобы мы делали это.
С наилучшими пожеланими,
Правительство.
P.S. Кажется что это не про наше...
С самого момента регистрации в качестве ИП у меня сложилось какое-то не очень положительное мнение о налоговой, больше не от того, что туда деньги надо отдавать - от этого все равно никуда не деться, а от того как там всё для людей устроено.
Открыл рассчетный счет: сообщи, иначе штраф (им и так банки информацию подают, зачем им еще разх это же от меня в отдельной очереди?)
Закрыл счет - сообщи (то же самое + я понимаю если я открыл счет и начал через него что-то гонять, но от закрытого счета какой вред может быть?)
Потом ввели что мол надо или через их программу сдавать Налогоплательщик ЮЛ ПЛЮС на бумаге - каким-то одним вариантом им не нравится....
Потом начали счета блокировать за недоплату то 80 рублей то еще сколько-то: ладно это самый эффективный способ воздействия на налогоплательщика, пускай.
В конце концов мне надоели очереди в налоговую, решил купить Спринтер - систему электронной отчетности и документообмена с налоговой. Вот думаю настало счастье и одной заботой стало меньше.
Оказалось:
1. Теперь вместо того чтобы ежеквартально отправлять документы в налоговую я должен буду ежеквартально отправлять акты выполненных работ Оператору, это не смотря на то, что в договоре прописано ,что я могу использовать систему электронного документооборота со своей подписью для того, чтобы обмениваться документами и с оператором и с налоговой, но это ладно - скорее всего вопрос решаемый ну или по крайней мере терпимый.
2. Сгенерированный сертификат никак не хочет устанавливаться в систему. Потеряли на этом при установке около 2 часов. Со специалистом сошлись на том, что скорее всего это из-за версии Windows 7 RC (предварительная версия). Попробовал сертификат дома на Windwos 7 финальной - тоже не ставится. Запустил под виртуальной машиной совершенно чистую Windows XP SP2 - самая стандартная вещь. Тоже не ставится. Это или злой рок или какая-то магия.
3. Интерфейс программы какой-то совершенно недружественный. Про красивости забудем - их нет, да мне в ощем и не нужны, но при выборе типа лица есть Юридическое лицо, где можно ввести ИНН, но только 10 цифр (на 12 цифр ИНН у ИП программа ругается), или физическое лицо. Там ИНН вообще не предусмотрен. И как скажите тогда отличить меня от моего Тезки, когда я запрашиваю состояние рассчетов с налоговой?
Пфф.... завтра продолжение...

3 дек. 2009 г.

Windows 7 RC1 Uptime на Acer Aspire

Сегодня-таки свершилось...
ноутбук не перезагружался и не выключался где-то с 4 августа - только перевод в спящий режим методом закрытия крышки ноута в произвольный момент времени.
Были залогинены 3 пользователя постоянно, иногда 4.
В памяти постоянно работали несколько экземпляров Word, Visual studio, Eclipse, MySQL, IIS, Qip infium, DropBox, Avast.
Ежедневно подключался к Wifi, Bluetooth. Активно работал примерно по 3-5 часов в день, в основном от аккумулятора.
Перемещался то на заднем сиденье автомобиля, то в рюкзаке, что одно, что другое - без особых нежностей.
Сегодня он из спящего режима выйти отказался (черный пустой экран), это первый замеченный сбой.
Итого получается август, сентябрь, октярь, ноябрь - четыре месяца.
Это наверно самый большой Uptime среди моих компьютеров.
Update. После перезагрузки стал проверять файловую систему, нашел несколько ошибок в индексах, на том дело и закончилось. Пошел новый отсчет, но теперь уже наверно до момента, когда доберусь релиз поставить.

2 дек. 2009 г.

Google или Bing для поиска по сайтам Microsoft?

Нужно найти статью поддержки на support.microsoft.com для выявления причин синего экрана Windows, статья точно есть (смотрел её вчера).
Вариант первый (очевидный): перешел на support.microsoft.com и вбил запрос 0x0000007a 0xc0000000e raid,
результатов нет
Потом пошел в Google:
Вообще если Bing даже по внутренним сайтам по точным ключевым словам не может статью найти... а зачем его делали и уверен много денег и в разработку и в рекламу вбухали...

7 нояб. 2009 г.

Спам icq, vkontakte

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

5 нояб. 2009 г.

Впечатления от Avianova

Летал в Тольятти чуть меньше, чем на неделю, билеты на самолёт купил через AviaNova Туда-Обратно за 1620 рублей в сумме. (покупал сильно заранее).
Случайно опоздал на рейс "Туда", пришлось купить билет на ближайший самолет уже за 6.5 тыс. в одну сторону. Зато появился шанс сравнить услуги Utair и AviaNova.
Время перелета примерно 1 час.
Рейс туда Utair:
Цена: 6500 рублей
Инструктаж по технике безопасности: Нет
Питание во время рейса: Да
Конфеты при взлете/посадке: Да
Кассы в здании вокзала: Да
Рейс обратно AviaNova:
Цена: 800 рублей (восемьсот)
Инструктаж по технике безопасности: Да
Питание во время рейса: Нет, есть небольшое меню по которому можно купить кофе/бутерброды. Кофе стоит 50 рублей, бутерброд 150, M&M's - 50. В стоимость чая/кофе входит стоимость вафли.
Конфеты при взлете/посадке: Нет
Кассы в здании вокзала: Нет
Время прилета у обоих очень неудобное - общественный транспорт уже не ходит, что в Тольятти(Самаре) (ну там хоть цены на такси нормальные), что в Москве - еле успел на последний поезд метро.

17 окт. 2009 г.

Как убрать выскакивающую рекламу?

Проблема

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

Решение

Нужно добавить закладку, вместо URL которой вписать: javascript:void(a=document.getElementsByTagName('*'));for(i=0;i<a.length;++i)if(a[i].style.position=='absolute'||a[i].style.position=='fixed')void(a[i].style.display='none');
После этого при нажатии на закладку будут убраны рекламные окна с текущей страницы.

27 сент. 2009 г.

СМС-реклама сотовыми операторами

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

31 авг. 2009 г.

PCTEL.RU

Звонки по России 1 рубль, подключение через SIP-протокол. Замечательно, заплатил, попробовал. Звонок прошел, слышимость замечательная, но только оказалось одно НО: задержка 5-7 секунд, т.е. если человеку сказать ау и он тут же ответит, то его ответ будет слышен секунд через 15.

GWT string.substring

StringBuilder sb = new StringBuilder(); for(int i = 0; i < lastAreaLength; ++i) { int index = lastAreaStart + i; char ch = text.charAt(index); sb.append(ch); } String content = sb.toString(); Что это? Это замена String content = text.substring(lastAreaStart, lastAreaLength); потому что при определенных условиях substring выдает исключение - выход за пределы диапазона, хотя всё указано правильно и с запасом...

30 авг. 2009 г.

Заметки с моря, часть 2 из 2-х

Сегодня оказалось, что для лежаков есть типа специальные места, где еще и со своими лежанками устраиваться нельзя - прямо перед морем. В общем в платности лежаков стал сомневаться еще больше, но если начать выяснять отношения скорее всего проблем будет больше, да и не стоят эти лежаки того. В Судаке такие были бесплатно и то не пользовался. Покушать получилось на 240 рублей примерно - легкий завтрак в номере, обед из 1-го и второго в кафе рядом с пляжем и ужин в столовой. Все вполне вкусно и сытно. Кроме всего прочего в номере есть чайник, причем чайник очень интересный - чтобы у него крышка для налива воды открылась нужно постоянно держать нажатой кнопку, иначе она тут же закрывается, так что воду из 5-тилитровой бутылки можно наливать только вдвоем. Вечером 2 раза отключали свет - 1 раз на 5 минут и 1 раз уже на несколько часов. Душ работает как-то странно - первые несколько секунд вода идет хорошим напором, потом начинает работать как бы в пульсирующем режиме и напор тут же снижается почти до нулевого

Заметки с моря, часть 1 из 2-х

Вчера приехали-таки в гостиницу. В Лермонтово можно ехать на автобусе (50 рублей с носа) или на такси - 800-1000 рублей с машины. На ЖД вокзале тут же налетает куча таксистов, которые предлагают свои услуги. Цена показалась великовата, поэтому прогулялся до автовокзала, там таксисты оказались более продвинутые и сами формировали группы, чтобы людям было ехать по-пути. В результате оказалось по 200 рублей с носа. Около 13 часов приехал в гостиницу, оформил проживание. При этом сразу обрадовался предупреждению о том, что горячей воды в номерах нет (накануне молния шарахнула в подстанцию в поселке и наблюдаются проблемы с электричеством, в т.ч. на водостанции). В холе есть отдельный душ с собственным бойлером, так что помыться в принципе можно. Номер оказался относительно большим - метров 16-20. К номеру прилагались 2 полотенца (по одному на человека), мыло, одноразовый шампунь, туалетная бумага чуть позже - сначала не положили, но вспомнили самостоятельно, так что фигня. Бассейн сломался и находится в состоянии ремонта, размер бассейна оказался 2*3 метра примерно. Чуть позже оказалось, что в туалете-душе оч. Пахнет сыростью, причиной оказалось отсутствие в нем вентиляции - вообще конструкцией не предусмотрена. Цены на еду вполне человеческие - если трех-разово питаться в гостинице, то выйдет 480 рублей в сутки на человека. Если оставить себе легкий завтрак и походить по поселку, то можно уложиться в 250 рублей. На пляже оказалось, полусломаные лежаки платные - по 40 рублей в час, надписей на видном месте об этом нет, так что официальность платности пока не проверена. По приходу в номер вечером оказалось, что воды нет вообще, это длилось сколько-то времени, потом вода появилась. Из разговоров понял, что проблемы с электричеством тут более-менее постоянные.

2 авг. 2009 г.

Дорога на юг, ночь вторая

Ночь вторая, из-за того что не открывается окно духота неимоверная, заснуть невозможно несмотря на то, что глаза закрываются. При поездке нужно иметь ввиду - не брать плацкарты в купе с аварийными выходами (в данном случае это купе 3 и 6, т.е. места 9-12, 21-24, 43-44, 49-50).

1 авг. 2009 г.

отдых в Лермонтово, начало

Вчера учтром посчитал деньги, понял что хватает на поездку на море... Хорошо, забронировал гостиницу, купил билеты и вот уже еду. Отдыхать буду в Туапсе, пос. Лермонтово, гостиница Ростов. Гостиница была забронирована через www.alean.ru, после брони уже подумал - неплохо бы знать номер гостиницы куда еду... Написал в алеан - мол мой ваучер такой-то, гостиницу я у вас уже купил - скажите мне ее телефон. Ответ: "Нет, мы такой информации не даем, ищите в интернете." Я понимаю не сказать телефон если я еще не заплатил - чтобы напрямую у них бронь не сделал... но вот такого вупор понять не могу. Ладно, еду - в поезде 2 окна не открываются для проветривания - запасные выходы, одно из них у меня :) В остальном пока все замечательно, через полтора дня уже буду сидеть в море...

23 июн. 2009 г.

Первый skype-урок английского

Занимаюсь изучением английского и если с чтением проблем почти нет, т.к. много лет читаю на английском материалы для работы, то с разговорной речью проблемы.
Сейчас кроме прослушивания материалов на английском начал заниматься с преподавателем Дмитрием Никитиным - он вел у меня английский в ВУЗе и как педагог мне понравился.
Сегодня прошел первый урок по скайпу. Снова проблема с построением фраз, не понимаю некоторых слов в основном на слух. Мозги немножко кипят от напряга, но вроде самый минимум получается.

15 июн. 2009 г.

Acer Aspire One D150-0Bw

Взял себе для работы на свежем воздухе...
Самое интересное, что процессор Intel Aton N270, который в нем стоит оказался двухъядерным...
Хотя на сайте производителя ясно написано "Intel Atom Single Core N270".
Чтож приятный сюрприз :)

6 июн. 2009 г.

Один из счастливых моментов жизни

Мое домашнее рабочее место :)

2 июн. 2009 г.

Минздрав предупреждает...

В России:
В Европе:
В Канаде:

25 мая 2009 г.

Пора начинать копилку...

Получил сегодня письмо следующего содержания (орфография, лексика и т.п. сохранены):

дорогой глупый тимофей! я тебя ненавижу раз уж больше я тебя не увижу, так как тебе это неинтересно, можно больше не притворяться. это я писала оскорбительные каменты в твой блог конечно ты являешься засушенным рациональным сухарем, поэтому до тебя не допрет твоя личная ничтожность мечтаю тебе сказать: ИЛИ НА ХУЙ хоть ты по-любому победишь мой спик-баттл, я скажу все!сказать в лицо было невозможно, потому что на него противно смотреть! ты мудоеб! вот тебе мат, раз ты его не терпишь, целомудренно не куришь и не пьешь! у тебя ебанутые шутки. мы не знали как и реагировать-то на них! ты один из самых неприятных мне людей! неясно только как все остальные не видят этого. видимо полости в их головах неизлечимы При случае надо будет заняться анализом текста...

Пока не настолько разнообразно, как у Дмиха, но видимо всё еще впереди - надо начинать копилку...

Самое интересное, что с человеком, который мне это написал я не имел никаких отношений, ну просто вообще никаких - находились в одном коллективе: привет-пока и ничего больше. И ведь не лень было написать мне это в личку, на стенке и в блог...

13 мая 2009 г.

gotdotnet.ru, Обратная связь скоро будет...

На www.gotdotnet.ru нажал на ссылку "Обратная связь", в ответ увидел: Sorry, site is temporary unavailable. Approximate time of launch is 25 Dec 2008 21:00. Интересно, а декабрь прошлого года скоро наступит?

12 мая 2009 г.

Не видно содержимого System.Windows.Forms.Clipboard

Проблема

При обращении к Clipboard.GetText() возвращается null, равно как и к остальным методам, хотя данные в буфере обмена есть.

Решение

Нужно добавить атрибут STAThread к входной точке программы:[STAThread]
static void Main(string[] args)

Генерирование LINQ-запросов в runtime

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

При этом для уточнения условий отбора нужно просто выполнить запрос к запросу. Благодаря тому, что запрос выполняется не сразу, а в момент обращения к его результату – будет выполнено уточнение начального запроса. Если при этом тип возвращаемого результата остается тем же (выбираем тот же тип данных), то запрос можно присвоить той же переменной.

Для примера создадим в MS-SQL таблицу Test со столбцом Value типа int и ts типа TimeStamp (чтобы полей было всё же больше, чем те, с которыми нужно работать). Нам нужно выбрать из этой таблицы все четные значения больше 5, отсортированные по возрастанию.

Это можно написать в обычном запросе вот так:

var q = from item in DB.tests
         where item.value % 2 == 0 && item.value > 5
         orderby item.value
         select item.value;
При этом мы получим IEnumerable<int> и в базу отправится запрос

exec sp_executesql N'SELECT [t0].[value] FROM [dbo].[test] AS [t0] WHERE (([t0].[value] % @p0) = @p1) AND ([t0].[value] > @p2) ORDER BY [t0].[value]',N'@p0 int,@p1 int,@p2 int',@p0=2,@p1=0,@p2=5

Это хорошо и удобно, но бывает что нужно уточнять параметры запроса в зависимости от каких-то условий или добавлять условия в цикле или что-то похожее, обычно это делается при формировании запроса в виде строки:

string query = "SELECT value FROM Test WHERE (1=1)";
query += " AND (Test.Value % 2 = [email protected])";
if (flag)
    query += " AND (Test.Value > 5)";

query += " ORDER BY Test.Value";

Такую же гибкость предоставляет и LINQ, при осуществлении запроса к запросу. Сделаем тот же самый запрос на LINQ в несколько шагов:

1. Выберем базовый набор элементов с которыми хотим работать, пусть это будут вся таблица Test

var q = from item in DB.tests
        select item;

Это преобразуется в запрос

SELECT [t0].[value], [t0].[ts] FROM [dbo].[test] AS [t0]

2. Но поскольку к результатам запроса мы еще не обращаемся, то к БД он не отправлен, уточняем наш запрос:

q = from item in q
    where item.value % 2 == 0
    select item;

Мы добавили условие четности и запрос соответственно уточнился:

SELECT [t0].[value], [t0].[ts] FROM [dbo].[test] AS [t0] WHERE ([t0].[value] % @p0) = @p1

Теперь уточним запрос, т.к. мы хотим работать только со столбцом value – выбираем его.

var nums = from num in q
           select num.value;

3. Запрос уточняется до

SELECT [t0].[value] FROM [dbo].[test] AS [t0]

т.е. если запросить данные сейчас, то выберется уже только один столбец, а не вся таблица. Но суть даже не в этом – раз мы выбрали только один целочисленный столбец мы теперь и работаем с ним просто как с коллекцией целых чилел. Обратите внимание – у нас поменялся тип результата – вместо всех столбцов мы выбираем только один, поэтому нам нужна новая переменная (используется новый тип данных)

4. Выбираем из них четные:

nums = from num in nums
       where num % 2 == 0
       select num;

и запрос снова уточняется:

SELECT [t0].[value] FROM [dbo].[test] AS [t0] WHERE ([t0].[value] % @p0) = @p1

Здесь и дальше мы уже работает только с коллекцией int’ов, так что используем ту же самую переменную.

5. Теперь уточняем запрос в зависимости от какого-то нашего условия:

if (flag)
    nums = from num in nums
           where num > 5
           select num;

У меня влаг выставлен в true, поэтому условие уточняется:

SELECT [t0].[value] FROM [dbo].[test] AS [t0] WHERE ([t0].[value] > @p0) AND (([t0].[value] % @p1) = @p2)

6. Сортируем полученный результат:

nums = from num in nums
       orderby num
       select num;

Запрос еще раз уточняется:

SELECT [t0].[value] FROM [dbo].[test] AS [t0] WHERE ([t0].[value] > @p0) AND (([t0].[value] % @p1) = @p2) ORDER BY [t0].[value]

И наконец обращаемся к результату:

foreach (var num in nums)
    Console.WriteLine(num);

Согласно SQL Profiler’у туда пришел запрос:

exec sp_executesql N'SELECT [t0].[value] FROM [dbo].[test] AS [t0] WHERE ([t0].[value] > @p0) AND (([t0].[value] % @p1) = @p2) ORDER BY [t0].[value]',N'@p0 int,@p1 int,@p2 int',@p0=5,@p1=2,@p2=0

Запрос совершенно эквивалентные, отличаются только порядком условий в AND.

В чем плюсы такого подхода?

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

2. Можем уточнять и добавлять новые условия запроса в зависимости от каких-то внешних условий, так же как при формировании запроса в виде строки.

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

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

5. Можно писать условия отбора в человеческом порядке на человеческом языке, так что это потом будет просто понять и исправить (пример приведен ниже)

P.S. После написания поста стало интересно попробовать – а что если нам нужно будет выбрать из той же таблицы четные числа больше 5, но только среди чисел, которые идут с 5-го по 25-й если их отсортировать. Т.е. при переводе на русский это получается так:

Отсортировать числа в столбце value по возрастанию, взять из них элементы с 5-го по 25-й включительно и среди них выбрать четные числа больше 5.

Написал такой кусок кода:

var nums = from item in DB.tests
        orderby item.value
        select item.value;

nums = nums.Skip(4).Take(21);

nums = from num in nums
       where num % 2 == 0 && num > 5
       select num;

foreach (var num in nums)
    Console.WriteLine(num);

из чего сгенерировался запрос:

exec sp_executesql N'SELECT [t2].[value] FROM ( SELECT [t1].[value], [t1].[ROW_NUMBER] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [t0].[value]) AS [ROW_NUMBER], [t0].[value] FROM [dbo].[test] AS [t0] ) AS [t1] WHERE [t1].[ROW_NUMBER] BETWEEN @p0 + 1 AND @p0 + @p1 ) AS [t2] WHERE (([t2].[value] % @p2) = @p3) AND ([t2].[value] > @p4) ORDER BY [t2].[ROW_NUMBER]',N'@p0 int,@p1 int,@p2 int,@p3 int,@p4 int',@p0=4,@p1=21,@p2=2,@p3=0,@p4=5

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

11 мая 2009 г.

Windows 7 RC... Глюк с изменением размера панели задач

Как воспроизвести: 1. Ставим панель задач слева или сверху (снизу и справа глюк не проявляется) 2. Растягиваем ее 3. Возвращаем к нормальному размеру чтобы убрать остаток этой панели нужно или выйти-войти в рабочий стол заново или перетащить панель задач вниз(вправо) и потом вернуть на место. P.S. Что интересно - глюк у панели задач слева в висте не новость, в Windows XP SP2 например если выбрана синяя XP-шная тема оформления и панель задач висит слева, то при каждой перезагрузке её ширина уменьшалась на один значек трея.

7 мая 2009 г.

Самый быстрый способ разориться

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

Премьера спектакля "Самоубийца"

Тграгикомедия по пьесе Николая Эрдмана "Самоубийца". Действие происходит в начале 20-го века, сразу после революции. В этой пьесе показывается жизнь обычного человека из массы, которого каждый пытается использовать в своих интересах даже в момент, когда он кончает жизнь. Спектакль будет проходить в ДК "Магистраль" (так же известен как ЯРЗ), около московского вокзала в воскресенье, 17 мая 2009 года, стоимость билета 60 рублей. В ролях: Андрей Охапкин - Подсекальников Семен Семенович Анна Постнова - Мария Лукьяновна (его жена) Наталия Паршина - Серафима Ильинична (его тёща). Николай Секретарёв - Александр Петрович Калабушкин (их сосед). Наталья Ефимова - Маргарита Ивановна Пересветова, бабка. Тимофей Кулин - Аристарх Доминикович Гранд-Скубик. Сергей Штефан - Никифор Арсентьевич Пугачев (мясник), алкаш. Наталья Серова - Клеопатра Максимовна, бабка. Александр Новиков - Отец Елпидий (священник), алкаш. Анастасия Воронина - Виктор Викторович (писатель), Генриетта Степановна. Светлана Крашенинникова - Егорушка (Егор Тимофеевич), немая девушка, помощница Генриетты Степановны.

4 мая 2009 г.

Москва, москва... Или где можно ездить на красный...

На выходных ездил в москву на машине (маму по работе возил) - так меня умиляют московские дороги, прям не могу. У нас город относительно небольшой, знаки все вроде и так знаю, ну и куда нельзя ехать - там кирпичи висят и их хорошо видно и так сложилось, что на знаки перед перекрестком смотреть не привык. Еду в москве по навигатору, он говорит - езжай прямо, а прямо - кирпич, ну чтобы под кирпич не ехать - свернул налево, куда как оказалось поворачивать совершенно нельзя, а кирпич оказался только для грузовиков блин... Теперь умею смотреть на знаки перед перекрестком.... А теперь о красном... А еще больше мне потом понравилось - при выезде на ул. Пречистенка с какого-то из переулков есть светофор, который всегда горит в сторону выезда красным и под который можно ездить....

Сигналка или нервы

Сегодня ночью (около 2.30) впервые сработала сигналка на машине, я естественно вскочил как ошпаренный, пошел к окну смотреть что случилось… ничего не увидел – может испугались сигналки и убежали… через несколько минут какой-то парень мимо машины прошел… и больше ни души…

Потом полночи еще уснуть не мог от этого стрессового вскакивания и с мыслями – может лучше без сигналки (и возможно просто машину в гараж поставить), чем так себе нервы насиловать…

3 мая 2009 г.

Windows 7 RC... Установка

К сожалению обновление с беты до RC не поддерживается, поэтому ставил заново. Установка Releace Candidate прошла намного быстрее, чем беты - если бета ставилась час с лишним (по ощущениям - успел позастракать, сходить в душ, потом еще полчаса ждал), то RC установилась минут за 20. Запускается еще быстрее, выглядит еще красивее. Одно недоумение - почему убрали картинки пользователей из висты... Мне оч. нравились шахматы для рабочего логина и что-то такое милое (не помню что) для личных нужд. Что-то милое есть - собачка, а вот шахмат больше нету... придется выцеплять из висты.

2 мая 2009 г.

Windows 7 Beta... WiFi...

Не видит WiFi-сети на моем буке.
Точнее сначала видела, потом перестала. Возможно, что из-за того что проводную сетку назвал так же как WiFi, но это только предположение.
Качаю Windows 7 RC x86

30 апр. 2009 г.

Акция "Спасибо"

http://spasibo9may.ru/ А вот это считаю действительно и прздничным мероприятием и обдуманным выражением благодарности.

Акция "Георгиевская ленточка", я против.

Несколько лет был просто против массовой показухи с ленточками, без явных причин.

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

Зато решил всё же посмотреть что это за ленточка, откуда она взялась и что означает.

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

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

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

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

Мне не нужна георгиевская ленточка! Я не имею права её носить!

29 апр. 2009 г.

Налогоплательщик ЮЛ

Есть у меня ИП, ежеквартально сдаю нулевые отчетности по упрощенке. Вот тут, перед сдачей отчетности (23-24-го числа) я нажал "Обновить программу с интернета", налогоплательщик скачал обновления, я честно скинул их на флешку и понес в налоговую... Оказалось, что у меня версия старая, им нужно в 4.16, у меня 4.14.... Сегодня нажал кнопку обновиться снова, обновление через интернет снова что-то скачало, но версия программы все равно не обновилась и никакого окошка не вылезло, что надо обновляться... Полез на сайт налоговой за новой версией... и что вы хотите? она выложена 28.04, когда последний срок сдачи отчетности 25.04.... - и ведь все равно не обновляется... Ссылки на новую версию даны в виде 30-ти с лишним ссылок на тома многотомного архива... Я вот не понимаю - у нас что до сих пор все на модемах сидят и при этом не знаю что такое download master? Ладно не сделали чтение старого формата данных (хотя сомневаюсь что это проблема), фиг с ним... Ладно обновление через интернет через жопу сделано... фиг с ним - ну проблема им обновить исполняемые файлы, а не только какие-то формы... Но блин можно же было выложить файл одним архивом, ну или одновременно и одним файлом и многотомником... а так вот сиди, качай в своё удовольствие...

Windows 7 Beta... Progress in taskbar

Теперь если в одном из окон показывается какой-то прогресс, то он же отображается как фон значка в панели задач. Если таких прогресс-баров у одной программы несколько - отображается минимальный.

Windows 7 Beta... Переключение окон в Aero

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

Windows 7 Beta... Recent files

В главном меню в списке часто запускаемых программ при наведении курсора на название программы справа открывается список последних открытых ею документов.

IE8... эх...

Видимо он как и написано в старых учебниках по HTML "умеет отображать таблицы только после полной подгрузки их содержимого"... Сегодня временно перешел на соединение в 10 раз медленнее обычного и это стало напрягать... Вроде уже всем кроме медленного отображения страниц меня IE уже устраивает.

28 апр. 2009 г.

Windows 7 Beta... Попытка Feedback...

Хотел написать в Microsoft по поводу глюка с PPPoE, нажал Feedback, комп что-то там скачал, посмотрел что у меня за комп, потом спросил LiveID, ввел свой личный, не тот с которым винду качал. Получил фигу - типа от вас мы обратной связи не хотим, потому что LiveID не тот. Странно, почему бы им не получать связь ото всех, кто хочет им отзывы писать...

Windows 7 Beta... Первые впечатления...

Очень удобно сделана панель задач, похожа на Mac OS (только значки не прыгают при запуске:) ) - теперь приложение можно просто закрепить на панели задач и переключаться на него, не думая о том - надо его запустить или просто развернуть (если не запущено - то соответственно запустится). Скорость загрузки и работы впечатляет, давно я уже не видел чтобы IE открывался в ту же полсекунду, как я нажимаю на кнопку, ну собственно так же себя ведут и Word и Excel, из антивирусов поставил бесплатный Avast, потому что платный Notron сказал что с этой ОС он работать не умеет. The bat и QIP грузятся немного дольше, но у QIP это вообще болезнь такая. Дальше на очереди в установку Visual Studio, MSDN. Еще на панели задач теперь вместо мелких значков с заголовками - большие кнопки со значками и без заголовков (появляются при наведении). Если у программы открыто несколько окон, то показывается только один значок и уже при наведении показывается несколько заголовков, причем что удобно - для вкладок в IE каждая вкладка показывается отдельным заголовком вне зависимости от того в каком из окон открыта - по-моему крайне полезно, бывает надоедает искать экземпляр IE с нужным окошком. Рядом с часами (у меня в левом нижнем углу, при стандартном расположении - в правом нижнем) маленький прямоугольник - это кнопка "Свернуть все окна" - значительно лучше, чем мелкий значок на панели запуска. Вообще мелкие значки это зло (особенно при больших разрешениях экрана). Если перетащить окно к левой или правой границам рабочего стола, то окно развернется на всю высоту и половину ширины рабочего стола и останется прижатым к той стенке, к которой его перетащили - тоже крайне удобная штука, никогда не пользовался "развернуть по горизонтали" из меню панели задач потому что неудобно, а растягивать окна вручную и располагать их рядом - тоже неудобно, поэтому в таком "Двухоконном режиме" работать было очень неудобно, хотя сам по себе режим нужный и важный. Если перетащить окно к верней границе - оно разворачивается на весь рабочий стол, тоже удобнее, чем искать мышкой значок "Развернуть". Если сравнивать с моим стареньким маком, то удобный режим - разбросать все окна по стороным (показать рабочий стол) при уведении курсора мышки в один из углов и потом их возвращание на прежнее место, при повторном заходе в этот угол. Поиск по главному меню работает значительно быстрее (т.е. быстро, т.е. незаметно), чем делал это в висте - просто набираю программу, Enter и программа уже стартует. Возможно, что пока система новая, новая виста была давно, так что уже не помню. Наткнулся на один баг - при установке PPPoE соединяния падает в синий экран, но это мне не принципиально - настроил интернет через маршрутизатор и пользуюсь. В общем первые полчаса полет нормальный, мне нравится даже бета.

Windows 7 Beta... Setup или почему не надо ставить Ckeched Build

Установка Windows 7 началась для меня с выкачки неправильного диска из MSDN, а именно - скачал Cheked build (перевел для себя как "Проверенная сборка"), да и дата выпуска была на пару дней позже беты. Подумал, что что-то там заметили и переиздали тут-же. Как оказалось в последствии Ckeched build это проверочная сборка - для разработчиков драйверов например. В ней при компиляции отключена оптимизация и выводятся все сообщения обо всех ошибках, что достает в первые же несколько минут работы. Вывод - Cheked build больше качать не надо.

25 апр. 2009 г.

Отдых мозгам

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

20 апр. 2009 г.

TinyMCE clean my tags / TinyMCE удаляет мои теги

Proglem/Проблема

I use my tagsin html for internal layout logic elements, (for example <menu textid="mymenu">) templates and etc. When I start use TimyMCE editor - itcleanup my tags. Для внутренних целей (разметка логических элементов в коде) я использую собственные теги (например <menu textid="mymenu">). Когда для редактирования кода поставил TinyMCE - он стал мои теги вырезать.

Solutions/Пути решения

tinyMCE.init({
...
cleanup : false,
})
When I turnoff cleanup - all tags convert to uppercase - it is bad for me. Когда я выключил чистку кода - все начали записываться в верхнем регистре, что есть плохо.
tinyMCE.init({
...
verify_html : false,
})
Turnoff verify_html - is good. It no drop any elements, but use other cleanup functional include lowercase tags. Выключение html-проверки оказалось как раз тем, что надо - элементы не удаляются, но вся остальная функциональность очистки остается, в частности маленькие буквы в тегах.

19 апр. 2009 г.

Зачем считать газ дома?

Пришел счет за газ, примерно 14 рублей, с учетом того что на счетчике уже были начальные показания, когда в квартиру въехал, моих там рублей 9-10.
Счетчик СГК-1.6, который у меня висит стоит 750 рублей, т.е. его цена соответствует примерно 6 годам пользования газом.
Ну ладно думаю, живу один, готовлю не много. Сегодня у бабушки спросил сколько она платит (счетчика у нее нет), оказалось что по нормам это 23 рубля в месяц, т.е. примерно 2.5 года потребления газа.
Если учесть, что тот пол-листочек на котором мне счет присылают стоит примерно 14 копеек + расходы на его печать и доставку и т.п.
Возникает вопрос - зачем его вообще считать при таких ценах???

16 апр. 2009 г.

Обращайтесь еще

При переписке с иностранными компаниями заметил, что в шаблоне письма всегда присутствует что-то вроде: "рад был помочь, в следующий раз без сомнений обращайтесьснова". Решил попробовать в своей практике. Такое ощущение, что клиент при виде фразу "Всего хорошего, будут еще вопросы - обязательно обращайтесь." расплывается в улыбке поуши и удовлетворение от поддержки увеличивается в разы. Давайте внедрять доброжелательность везде.

14 апр. 2009 г.

Оплатите ноль!

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

Что может Google?

На одном из рекламных мест увидел баннер гугла с надписью "Что я могу?" стало интересно...
Понравился пункт 12: "Прогуляться вокруг Эйфелевой башни, не выходя из квартиры".
Просто вот есть фотография и можно в любую сторону "крутить головой" в 3-х измерениях, шагать вперед-назад, просто перемещаться в произвольную точку Парижа (по мелкой карте рядом).
Реальной прогулки конечно не заменит, но уже гораздо лучше плоских фото.

9 апр. 2009 г.

Клиент это клиент и ничего больше

И никакого доверия, кроме материально обоснованного к нему быть не может, примером тому недавняя история:
год-полтора назад написал небольшую программу для клиентов, сейчас обратились - мол там есть ошибка, поправь пожалуйста. Обозначив что это будет платно - исправил.
Когда поставил исправления назвал цену, потом выяснилось, что человека, который может проверить всё ли поправлено нет, он придет вечером и оплата будет после проверки того, что поправлено именно то, что нужно, довод вполне логичный - оставил исправление (ввиду предыдущих хороших отношений), ушел.
Человек этот пришел вечером но лишь на пару минут и ничего не проверил, подождал еще несколько дней, написал письмо что заказ уже выполнен, некрасиво получается и в этот момент узнаю, что оплачивать работу в общем-то никто не собирался - мол это исправление твоей же ошибки. При разработке программы никакого договора небыло - ибо она сама по себе в 2-3 страницы.
На довод, что разумный срок для бесплатных гарантийных исправлений уже закончился (прошло 1.5 года) идет следующая переписка:
Клиент:

Тимофей, добрый день!

Понятие гарантийного срока предполагает первоначальную исправность предмета. В нашем случае речь идет, так сказать о "Врожденном дефекте". 

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

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

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

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

Я:

Добрый день, Анна!
 
Я понимаю ваше удивление тем что нужно оплачивать работу по исправлению допущенных ранее ошибок, но в сложившейся практике программное обеспечение поставляется как есть, т.е. с возможными ошибками и недочетами, при этом разработчик не несет за них ответственности (посмотрите любое лицензионное соглашение на программное обеспечение). Существуют отдельные категории программ, за ошибки в которых разработчик несет ответственность, но такие гарантии можно давать только при использовании специальных методов разработки и тестирования, когда есть отдельные сотрудники, отвечающие за поиск и устранение ошибок, это очень дорогие способы и обычно применяются в программах, где цена ошибки критически высока - программы управления атомными электростанциями или космическими кораблями. Стоимость таких программ измеряется миллионами.
 
В повседневной практике для решения проблем с обнаружившимися ошибками или недочетами заказчик и разработчик составляют отдельный договор на сопровождение программы, либо стоимость такого сопровождения в течение фиксированного промежутка времени включается в стоимость разработки. Если такого договора не составлялось и небыло устных договоренностей, то работа считается полностью выполненной после того как заказчик принимает программу в эксплуатацию.
 
В сложившейся между нами ситуации имеет смысл обсудить условия сопровождения написанной программы и оговаривать их в будущем заранее.
Дальше по ICQ:
Я (12:53:30 7/04/2009)
Ань, день добрый :)
 
я вам в субботу на почту письмо отправил - оно пришло?
Клиент (13:00:02 7/04/2009)
да, Тимофей, добрый день!
Я (13:00:35 7/04/2009)
ок, тогда жду на него ответ
Я (18:43:51 8/04/2009)
Ань, думаю 1-2 дня более чем достаточно для ответа, я расчитывал на конструктивный диалог.
Клиент (18:47:01 8/04/2009)
Добрый вечер!
Как видишь я еще на работе и еще не ухожу : очень высокая занятость.
Я предлагаю, раз у нас в программе не работала одна из основных функций, говорить о снижении цены за услуги до 300 рублей.
Я (18:47:35 8/04/2009)
если бы не работала одна из основных функций это было бы обнаружено раньше, чем через 1.5 года
Я (18:55:26 8/04/2009)
здесь проблема больше принципиальная, чем финансовая - работа сделала выполнена и соответственно должна быть оплата, 300 рублей это затраты времени только приехать-уехать, я в одном из писем я отправлял смету временных затрат - сумма которую называю значительно ниже той, которую я назвал бы любому другому клиенту - время и при замере округлял в меньшую сторону, учитывал не все и потом еще скидку сделал. Если посмотреть на ситуацию объективно это вообще не тот случай, где уместно торговаться.
Клиент (19:03:38 8/04/2009)
мне тоже кажется, что вести речь об оплате в данном случае абсолютно неуместно, так как платить дважды за одну и ту же работу неправильно. Эта функция должна была присутствовать изначально.
Мне совершенно непонятна твоя позиция. Для примера, если мы сдали световой короб без ламп, а заказчик его не эксплуатировал, при этом когда он решил его зажечь , он это обнаружил...Обратился к нам и мы , действительно, понимаем, что лампы ему не поставили, хотя он нам за них заплатил уже ранее....то о каких доплатах может вестись речь? Поставим лампы и извинимся пять раз. 
Я (19:08:26 8/04/2009)
в случае с ПО это общепринятая практика, т.к. разработка даже простой программы гарантировано без ошибок это очень долго и очень дорого, т.к. должно быть задействовано минимум 2-3 человека, специальные инструменты, дополнительное время на анализ всех возможных ошибок до передачи программы заказчику и т.п. - в итогде это для заказчика же оказывается намного дороже, чем оплачивать работу по факту выполненной работы.
 
Если говорить о примерах, то программа ближе к литературной статье и если в статье через 1.5 года обнаружилась неточность - врядли его попросят исправлять статью бесплатно, приехав для этого к заказчику 2-3 раза и затратив на это несколько часов времени.
Клиент (19:12:55 8/04/2009)
о том, что программа с неточностями нас не  предупредили: мы покупали продукт без изъянов. 
Я (19:14:06 8/04/2009)
в общем это моя ошибка, что я вас не предупредил и она стоила мне несколько часов времени, приму этот урок на будущее, равно как и практику не отдавать результаты работы до получения оплаты, жаль что так получилось.
Я (19:14:40 8/04/2009)
Ольгу я предупреждал о том, что это будет стоит денег и сумму называл совершенно прямо.
Клиент (19:18:15 8/04/2009)
Тимофей, я  согласна, есть веще и которых надо предупреждать: мы не обязаны знать практику работы с программами. И насколько я знаю, с Ольгой вы говорили о доплате именно за изменения в программе, связанные с нововведениями. 
Я (19:18:54 8/04/2009)
Ольга сейчас в ICQ? думаю удобнее будет разговаривать с ней, раз с ней я разговаривал об оплате
Клиент (19:20:39 8/04/2009)
он на месте, но думаю, что она не скажет тебе ничего , чтобы ты не услышал от меня. Думаю, не стоит с ней обсуждать этот вопрос.
Я (19:23:03 8/04/2009)
хорошо
в тот раз, когда я ставил изменения я еще раз назвал Ольге Георгиевне сумму 600 рублей, Ольга Георгиевна ответила, что она не может оплатить работу, пока она не проверена, а проверить её может только Дмитрий, приняв разумность этого довода я оставил исправления, после чего вдруг выяснилось, что платить никто и не собирался, что явно расходится с тем что неразумно оплачивать работу до проверки ее результатов.
Я (19:24:13 8/04/2009)
об этом же я говорил с ней по телефону, назвав что цена этого исправления отдельно составляет 600 рублей, в составе других исправлений по ТЗ 300 рублей
Клиент (19:27:12 8/04/2009)
я еще раз говорю о том, что на вела с тобой речь об ИЗМЕНЕНИЯХ , а не об исправлениях ошибок. А о том, что это ошибка программы мы узнали не сразу.
Я (19:28:33 8/04/2009)
речь шла как раз об исправлении, а ТЗ по изменениям Ольга Георгиевна только готовила и я в принципе не мог их не вносить не обсуждать цену, т.к. не имею о них не малейшего представления
Клиент (19:30:13 8/04/2009)
я сейчас не могу продолжить диалог
Я (19:30:35 8/04/2009)
всего хорошего.
Клиент (20:07:38 8/04/2009)
Оффлайн сообщение (4/8/2009 7:39:58 PM)
ВСЕГО ДОБРОГО

Вывод

Получил урок о доверительных отношениях ценой нескольких часов личного времени.

3 апр. 2009 г.

Источник траффика - сайт Лебедева, почему?

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

Хлоп и нету полки

Купил холодильник Hotpoint-Ariston RMBA 1200, сегодня (точнее уже вчера) привезли. Поставил, включил в розетку, поставил ручку холода в среднее положение, как в инструкции написано - наслаждаюсь наличием холодильника, его размерами и тишиной работы, наслаждался аж до полуночи. В начале первого хлышу большой "Хлоп" непонятно откуда - похоже на выстрел. После подробного осмотра кухни ничего не нашел, зато интересную картину увидел уже внутри холодильника:
Полка стеклянная лопнула, на которой совершенно ничего не стояло.
Интересно что завтра по этому поводу скажут магазин/сервис.

2 апр. 2009 г.

Openfire error if install with embedded database

Problem

Linux Gentoo # emerge openfire # env-update && source /etc/profile # cd /opt/openfire/conf # cp openfire.xml.sample openfire.xml # /etc/init.d/openfire start Then on step "Database Settings" select "Embedded Database" than setup fail and on second install effot on it step I have error "The Openfire database schema does not appear to be installed. Follow the installation guide to fix this error."

Solution

# chown jabber:jabber /opt/openfire/conf/openfire.xml # /etc/init.d/openfire restart

1 апр. 2009 г.

Тестовые задания Microsoft

Microsoft прислал письмо - ответьте на вопросы на http://www.itquiz.ru/ и получите один из кучи призов. Есть тестовый вариант заданий и настоящий (его можно проходить 1 раз). Тестовые задания уж больно веселые: Интересно что будет в настоящих... Когда сдавал сертификационные тесты Microsoft в случае сомнения руководствовался принципом Microsoft лучше всех... сдал оба теста... :)

29 мар. 2009 г.

Перевод часов на летнее время

И вот - снова пора переводить часы и снова "Как всегда неожиданно пришла зима". Если раньше компьютер хотя бы предупреждал, что "пора", то сейчас просто молча переводит стрелки и всё и как-то очень странно просыпаясь в 7 видеть на телефоне 7, а на компьютере 8. И вообще давно пора его отменить, только неудобства одни с этим переходом. Зато в этом году уже точно узнать когда именно переводятся стрелки: Переход на летнее время осуществляется в последнее воскресенье марта. (стрелки сдвигаются на час вперед). Переход на поясное время осуществляется в последнее воскресенье октября (стрелки возвращаются на час назад).

ProcMon и RunAsна Windwos Vista

Странным образом себя ведет Procmon с сайта sysinternals, а именно когда нажимаю правую кнопку и говорю "Запусти от имени администратора" - не появляется запроса на подтверждение. Равно как ине появляется запроса на администраторские права, хотя при первом запуске проявились.
Фиг с ними с правами - прописал что-то куда-то и может из обычного режима работать, а вот отсуствие подтверждения при явном запросе "Запустить от админа" немного напрягает...

nvidia_179.48_notebook_winvista_32bit_beta Acer TravelMate 5620

С официальным драйвером Acer были проблемы при двумониторной работе - Windows постоянно "забывала" какой монитор главный и главным после перезагрузки или выхода из спящего режима становился монитор ноутбука, что в общем-то неудобно.
Позвонил в поддержку Microsoft - они сказали что за это отвечает не Windows, а драйвер видеокарты. Про себя ругнулся, потом решил попробовать обновить. Помогл.

Знак рубля мне как-то евро напоминает...

http://www.artlebedev.ru/kovodstvo/sections/159/ 

24 мар. 2009 г.

Jabber-сервер OpenFire не коннектится с другими серверами

Проблема

Jabber-сервер OpenFire отказывается соединяться с другими Jabber-серверами, в частности qip.ru

Причина

Не установлен сертификат

Решение

Поставил сертификат. По идее можно самоподписанный - большенство серверов должно его принять, но можно и подписанный - на xmpp.org можно получить подписанный ими сертификат для использования в jabber-сервере бесплатно.

23 мар. 2009 г.

Вневедомственная охрана

Примерно в полночь уронил дома аккумулятор от ноутбука на пол, лег спать. Через 5 минут звонок на мобильник - "у вас сработал датчик на разбиение стекла, экипаж у дверей вашей квартиры, визуально окна целые, Вы дома?" Датчик конечно зря сработал, надо учесть на будущее, но заодно охрану проверил (специально совесть бы не позволила). Результат гораздо лучше, чем когда приходилось вызывать милицию по телефону (30-90 минут).

22 мар. 2009 г.

Java умирает последней

Сегодня в Gentoo на VDS запустил в паре консолей поиск файла по всей файловой системе, после успешно найденого файла стали валиться сообщения о нехватке памяти, reboot не работает. Ладно. Закрыл одно подключение, вроде как что-то ожило - уже можно ps, top запустить, reboot. reboot. а reboot не работает, может потому что снова памяти нехватает, может почему еще. Самое странное - при этом продолжает работать Jabber-сервер OpenFire внутри Java-машины. Получилось от него правильно отключиться и снова подключиться. Интересная система - системные процессы дохнут и перезагрузить машину не могут, а Java работает....

20 мар. 2009 г.

WiFi роутер или точка доступа?

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

18 мар. 2009 г.

Медленная работа Internet Explorer

Последнее время в IE не устраивала только медленная скорость запуска и открытия новых вкладок (5-10 сек). С помощью ProcExp с удивлением заметил, что значительную часть времени занимает работа Java-машины, которая запускается при открытии каждой вкладки, отключил соответствующий Addon, вкладаки стали открываться быстрее. Следующим на очереди был Skype. Затем Google Toolbar :( - он процессор не грузил, но видимо вкладки ждут пока панель сделает запросы на гугл, а это долго. Потом посмотрел какая куча всего там включена и выключил вообще почти всё, теперь наслаждаюсь быстрым IE

14 мар. 2009 г.

Количество w в www

http://community.livejournal.com/soviet_life/424675.html?thread=5216227
Читал блоги, наткнулся на странную ссылку: http://wwww.1gb.ru/show_book.php?id=21 помню что никаких show_book.php у нас на сайте нет, решил посмотреть, посмотрел - ссылка работает.
Теперь буду внимательно считать wwww перед тем как поверить ссылке...

12 мар. 2009 г.

Подъем дампа в MySQL

Проблема

При импорте дампа в MySQL в таблицах сбивается кодировка, хотя кодировка базы задана правильно, кодировка дампа ей соответствует, кодировка в параметре --default-character-ser тоже. Поднимался дамп на Gentoo 2008, кодировка кодировка дампа windows-1251.

Решение

В начало дампа прописать собственно установку кодировки для соединения.
SET NAMES CP1251;
SET CHARACTER SET CP1251;

11 мар. 2009 г.

Visual Studio, ASP.NET & localhost

То ли какой-то патч обновления, то ли вирус изменили localhost с 127.0.0.1 на ::1 (на формат IPv6) и Visual Studio перестал опознавать обращения к разрабатываемому сайту по адресу http://localhost:3764/. Чтобы вернуть всё обратно нужно в файле "C:\Windows\System32\drivers\etc\hosts" создать строку
127.0.0.1 localhost
и удалить или закомментировать строку
::1 localhost

10 мар. 2009 г.

Windows Defender

Всегда думал что при наличии аккуратности и антивируса Windows Defender вещь по крайней мере бесполезная. Сейчас стоит Norton Antivirus 2008 с автообновлениями, хожу в общем-то на ограниченный круг сайтов (сегодня только на клиентский зараженный попал, но нортон уверял, что атаку отразил) и вот Windows Defender всплывает... P.S. Вчера только весь комп прогонял проверкой на вирусы, сегодня еще раз гнать...

9 мар. 2009 г.

Триггеры INSTEAD OF в MS-SQL

При создании триггера типа INSTEAD OF вызываемое действие подменяется вызовом триггера. Например если перед удалением строки таблицы Вам нужно удалить еще несколько строк БД, то после этого нужно удалить сами строки, обрабатываемые триггером (обратите внимание на выделенную строку). Таблица deleted - содержит строки, которые в соответсвие с запросом должны быть удалены из таблицы, на которой создан триггер.
GO
/****** Object:  Trigger [dbo].[SiteDelete]    Script Date: 03/09/2009 16:48:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Timofey Koolin
-- Create date: 2009-03-08
-- Description: 
-- =============================================
CREATE TRIGGER [dbo].[SiteDelete]
   ON  [dbo].[Site]
   INSTEAD OF DELETE
AS
BEGIN
 DELETE FROM TemplateSettings WHERE SiteID IN (SELECT ID from deleted);
 DELETE FROM InterfaceSettings WHERE SiteID IN (SELECT ID from deleted);
 DELETE FROM PublicObject WHERE SiteID IN (SELECT ID from deleted);
 DELETE FROM Site WHERE ID IN (SELECT id from deleted);
END

3 мар. 2009 г.

Крутили крутили и докрутили....

В подъезде происходит массовая замена батарей... Пока пока меняли батарею соседям - сломали батарею и стенку нам...

28 февр. 2009 г.

TransactionScope и ASP.NET

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

23 февр. 2009 г.

Оказалось нельзя

В блоггере вставлять теги картинок в комментарии... непонятно...

Кто кого переупрямит...

вот понравилась кому-то ветка про Scroll Lock, пишет туда постоянно, ну в общем осталенное "эээ" - самое осмысленное.... Интересно кому это раньше надоест - ему писать сообщения в никуда и он перестанет или мне их постоянно удалять и я включу разрешение комментов только авторизованным пользователям...

22 февр. 2009 г.

Asus EEE PC 701 & проблемы WiFi

Проблема

Сейчас постоянно работаю через WiFi на удаленном рабочем столе, так что все проблемы в сети сразу на лицо. Недавно стал замечать, что временами от ASUS до WiFi роутера пинги идут по 1.5-4 секунды!, в то время как обычно 1 милисекунда, при этом ресурсы полностью свободны: запущен mstsc и нортон антивирус.

Путь решения

Проблема решилась поднятием частоты процессора в 1.5 раза помощью программы для управления частотой процессора на Asus EEE PC eeectl.

Обработка удаления в наследнике DataContext

Проблема: Через LINQ не удаляется объект

При просмотре запросов через DataContext.Log выясняется, что в базе даже запросы на удаление не уходят.

Пример

var db = new DBDataContext();
db.Log = Console.Out;
var q = from obj in db.PublicObjects
        where obj.ObjectID == new Guid("56547e27-be08-4440-962e-8e20bc1fb1ba")
        select obj;

var o = q.Single();
db.PublicObjects.DeleteOnSubmit(o);
db.SubmitChanges();
Запрос нормально отрабатывается, но объект не удаляется и так раз за разом.

Причина

В DataContext для моей БД был определен partial метод DeletePublicObject, при этом базовый объект перестает отрабатывать свою схему удаления
partial class DBDataContext
{
  partial void DeletePublicObject(PublicObject instance)
  {
    instance.OnDetele();
  }
}

Решение

Нужно или самому выполнить MS-SQL комманду для удаления через ExecuteCommand или вызвать метод, который отрабатывает удаление по умолчанию - ExecuteDynamicDelete. Я выборал второй путь, вот что получилось.
partial class DBDataContext
{
  partial void DeletePublicObject(PublicObject instance)
  {
    instance.OnDetele();
    ExecuteDynamicDelete(instance);
  }
}
Вставка и обновление записей обрабатываются аналогично, для них соответственно методы по умолчанию это ExecuteDynamicInsert и ExecuteDynamicUpdate.

16 февр. 2009 г.

Сокращение количества запросов к базе в LINQ

Проблема

Допустим у Вас есть объект LINQ, сопоставленный какой-то таблице, например Site и есть свойства этого объекта, хранящиеся в другой таблице, которые представлены свойством InterfaceSetting.

Вы выбираете сам объект, например так:

var q = from site in DB.Sites

        where site.id == (Guid)Session["SiteID"]
       select site;

CurrentSite = q.Single();
Потом Вы обращаетесь к свойству CurrentSite.InterfaceSettings, при этом LINQ делает еще один запрос в базу, чтобы вытянуть связынный объект.

Путь решения проблемы

Если по логике приложения эта связь используется часто, то логично было бы сразу запрашивать связанный объект в одном запросе с основным. Это можно сделать при помощи LoadOptions объекта DataContext, например так: partial class DBDataContext
{
   partial void OnCreated()
   {
       var load_options = new DataLoadOptions();

       // Настройки интерфейса всегда загружаем сразу вместе с сайтом, одним запросом к базе
       load_options.LoadWith<Site>(site => site.InterfaceSetting);

       LoadOptions = load_options;
   }
}

13 февр. 2009 г.

Microsoft Visual Studio 2008 SP1 удаляет файл .designer.cs при редактировании .dbml

Суть проблемы

При редактировании структуры LINQ to SQL в .dbml файле и сохранении проекта пропадает файл .designer.cs, связанный с этой БД и проект не компилируется, т.к. отсутствует описание класса БД.

Причина проблемы

Ошибка Visual Studio, проявляется когда в соответствующем .cs файле (например db.dbml соответствует db.cs) перед namespace стоят директивы using, например так:
using System;
using System.Linq;
using System.Xml.Linq;
namespace Site_constructor
{ 

Путь обхода проблемы

Обойти проблему можно переместив директивы using внутрь namespace, чтобы стало так:
namespace Site_constructor
{
    using System;
    using System.Linq;
    using System.Xml.Linq;
    using System.Data.Linq;

Восстановление удаленного .designer.cs

Надо нажать правой кнопкой на .dbml файл и выбрать пункт "Run custom tool"

Связанные ссылки

Источник пути обхода Тикет в обратной связи Microsoft

9 февр. 2009 г.

Н-дя...

Вот стоит себе машина перед подъездом... в общем-то стоит уже несколько лет, а вот именно перед этим наверно месяц... Пару дней назад упёрли аккумулятор... ну упёрли... ну ладно, куппил новый, поставил... Сегодня нахожу разбитое лобовое стекло, упёртый шнурок от этого стекла (шнурок что уперли 50 рублей стоит...) + слитый бензин и упертые щетки... Аккумулятор - ну понимаю или себе поставить или толкнуть можно... Щетки понимаю - хорошие щетки новые, тоже относительно дорогие... Бензин - тоже понимаю... Стекло... если бы чтобы в салон залезть или из окна чем-то кинуть - ну то же бы понял ну или кирпич хотябы... - так нет, пробито и приподнято, чтобы вот этот шнурок 50-рублевый вынуть.... вот этого я понять уже не могу....

7 февр. 2009 г.

Формы титулования в царской России

н-дя... а я-то всё думал - зачем нужны отдельные названия брату жены например.... оказалось чтобы быстрее выяснять как надо обращаться к титулированной особе... особенно понравилось «ВАША СВЕТЛОСТЬ» — к младшим детям правнуков императора и их мужским потомкам, а также к светлейшим князьям по пожалованию; При обращении к лицам, имевшим те или иные чины «Табели о рангах», лица равные по чину или нижестоящие были обязаны употреблять следующие титулы (в зависимости от класса): «ВАШЕ ВЫСОКОПРЕВОСХОДИТЕЛЬСТВО» — к лицам в чинах 1 и 2 классов; «ВАШЕ ПРЕВОСХОДИТЕЛЬСТВО» — к лицам в чинах 3 и 4 классов; «ВАШЕ ВЫСОКОРОДИЕ» — к лицам в чинах 5 класса; «ВАШЕ ВЫСОКОБЛАГОРОДИЕ» — к лицам в чинах 6 — 8 классов; «ВАШЕ БЛАГОРОДИЕ» — к лицам в чинах 9 — 14 классов. Кроме того, в России существовали титулы, употреблявшиеся при обращении к членам Императорского дома Романовых и лицам дворянского происхождения: «ВАШЕ ИМПЕРАТОРСКОЕ ВЕЛИЧЕСТВО» — к императору, императрице и вдовствующей императрице; «ВАШЕ ИМПЕРАТОРСКОЕ ВЫСОЧЕСТВО» — к великим князьям (детям и внукам императора, а в 1797—1886 гг. и правнукам и праправнукам императора); «ВАШЕ ВЫСОЧЕСТВО» — к князьям императорской крови; «ВАША СВЕТЛОСТЬ» — к младшим детям правнуков императора и их мужским потомкам, а также к светлейшим князьям по пожалованию; «ВАШЕ СИЯТЕЛЬСТВО» — к князьям, графам, герцогам и баронам; «ВАШЕ БЛАГОРОДИЕ» — ко всем остальным дворянам. При обращении к духовным лицам в России употреблялись следующие титулы: «ВАШЕ ВЫСОКОПРЕОСВЯЩЕНСТВО» — к митрополитам и архиепископам; «ВАШЕ ПРЕОСВЯЩЕНСТВО» — к епископам; «ВАШЕ ВЫСОКОПРЕПОДОБИЕ» — к архимандритам и игуменам монастырей, протоиереям и иереям; «ВАШЕ ПРЕПОДОБИЕ» — к протодиаконам и диаконам.

6 февр. 2009 г.

Пенсионный фонд удивляет

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

Пенсионный фонд удивляет

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

3 февр. 2009 г.

Добавить HTTP-заголовок в asp.net

Response.AddHeader(“Header”, “value”);

Есть еще метод Response.Headers.Add(“Header”, “Value”), но он на asp.net 3.5 вызывает исключение

This operation requires IIS integrated pipeline mode

Так что лучше пользоваться первым методом.

Для чего нужна ScrollLock

Впервые за 16-летний опыт общения с компьютером я наткнулся на использования клавиши Scroll Lock на клавиатуре.

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

2 февр. 2009 г.

Ошибка при создании проекта Database Project в Visual Studio.

При создании проекта Database project стала появляться ошибка

An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Проблема оказалась в следующем:

При первой попытке создания у меня на компьютере небыло установлено никакой MS-SQL БД и Visual Studio выдавала ошибку подключения. Затем я установил MS-SQL Express, но результат остался прежним – ошибка появлялась, причем данные соединения не запрашивались.

Дело оказалось в том, что Visual Studio видимо первый раз попробовала подключиться к серверу localhost\ без именования экземпляра, это и запомнила, а MS SQL Express устанавливается с именем localhost\SQLEXPRESS

Решение проблемы

Удалил из реестра ветку (delete key)

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio

Машина не заводится…

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

TinyMCE, список ссылок

В опциях нужно задать параметр
external_link_list_url="PageWithLinks", который может быть как статическим, так и динамически генерировать нужные ссылки, вот пример того, что должен отдавать файл:

var tinyMCELinkList = new Array(
// Name, URL
["Moxiecode", "http://www.moxiecode.com"],
["Freshmeat", "http://www.freshmeat.com"],
["Sourceforge", "http://www.sourceforge.com"]
);



Опцию нужно задавать при вызове инициализации TinyMCE:

tinyMCE.init({
...
external_link_list_url : "myexternallist.js"
});



Примеры взяты из документации: http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/external_link_list_url

Для asp.net этот параметр задается в списке атрибутов объекта
<tinymce:TextArea ID="PageContent" theme="advanced" ...
external_link_list_url="LinkList.aspx"
runat="server" EnableViewState="False" />

Первые шаги на сноуборде

Как собрался

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

Первый спуск

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

Первый раз поднимаюсь на сноуборде

Первый раз стою на ногах (точнее немного еду уже)

Спуск

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

Потом с переменным успехом примерно час катания-валяния и самое тяжолое - поднимания обратно в горку (на этой мелкой горке подъемник не работает). И вот наконец-то я научился спускаться и просто горки мне показалось уже мало... взял еще на спуске небольшой ускоритель :)

Потом покатались еще немного и пошли домой - уставшие и довольные...

28 янв. 2009 г.

Пирожки с яблочным пюре

Тесто: Мука 500гр. Масло 100гр. (маргарин хозяюшка) Молоко 1 стакан яйцо 2 шт Дрожжи сухие 10 гр. соль 1 чайная ложка Сахар 1.5 столовые ложки с горкой (одна с горкой, одна без горки) Способ приготовления: в муку разбить пару яиц, перемешать, посыпать дрожжями Молоко подогреть дод теплого (не горячего) состояния, залить дрожжи. Получившееся тесто закрыть крышкой, поставить на 20 минут в теплую воду (в смысле таз с тестом внутри поставить в теплую воду, чтобы тесто было в тепле). В это время растопить маргарин и остудить, чтобы стал теплым, а не горячим. Влить масло в тесто и снова поставить в теплую воду еще на 20 минут. Пирожки Наделать шариков примерно по 20гр. теста в каждом, каждый шарик раскатать в блинчик примерно 0.5 см толщиной, положить начинку, сложить в форме пирожка. Поставить в духовку (примерно 250 градусов) и смотреть когда будут готовы (минут 10).

22 янв. 2009 г.

Крещение

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

16 янв. 2009 г.

Моё знакомство с ABS

Взял на недельку Renault Megane поездить с ручной коробкой. Сильно удивился, что ручная коробка передач меня совсем не напрягает, а по ощущениям так вообще забываю что на ручной коробке езжу и соответственно что ставлю машину на ручной тормоз на стоянках. Вот в очередной раз поехал и забыл снять машину с ручника, запищала она об этом метров через 300-400. Ручник опустил, еду дальше и тут пришлось сильно затормозить. Торможу и вдруг звук такой – как буд-то что-то от машины отвалилось и по асфальту скребется и машина почти не тормозит – я сильнее тормоз давлю – так еще и педалью это дергание ощущается – как будто на тормозном диске какая-то яма появилась или что-то такое и теперь тормоза в нее проваливаются. Думаю всё – попал на ремонт. Приезжаю на сервис, говорю – так и сяк проблемы с тормозами. На сервисе – нет у Вас никаких проблем, это ABS так работает, так и должно быть…

Удивился, ну ладно, просто торможу плавнее, когда ABS срабатывать начинает.

9 янв. 2009 г.

Шалости монополистов

Есть у нас в Ярославле больная большая контора - Центр-Телеком называется. Это основной поставщик телефонной связи и один из крупнейших поставщиков интернет-услуг по Ярославской области. И видимо поэтому чувствует себя довольно спокойно и может творить всё что угодно.

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

Жду утра следующего дня, звоню оператору: так и сяк, мол карточка не вводится. Оператор, после минут 10-ти ожидания в очереди: - "А Вы знаете что мы 8-го числа все номера договоров поменяли?"

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

Я на такое даже сердиться уже не могу, только смех пробирает...