Публікації

Показано дописи з 2008

И что птичкам так непонравилось в свежевымытом Ноуте?

Зображення

Интервью с Марком Кубаном

Прочитал у Сергея Корнилова об интервью с Марком Кубаном . Считаю следующих 2 высказывания Марка - самым важным из того, что я сегодня прочитал. Джейсон:  кто из бизнесменов вызывает у вас уважение? Марк:  Пожалуй Билл Гейтс. Наверное Ларри Эллисон. Предприниматели старой школы, они были другими, другой подход у них был. Я привык к тому чтобы бизнес был прибыльным, каждый месяц должен быть прибыльным. Сейчас у многих другая модель - сделать вебсайт, побольше посетителей и придумать как это монетизировать позже. Если вдруг деньги кончатся, ты по уши в дерьме. Меня всегда интересовала стратегия заработка, а не стратегия выхода из бизнеса. Джейсон:  что бы ты посоветовал молодым предпринимателям? Марк:  Я скажу чему я научился у Билла Найта: у всех есть желание победить, но когда приходит время делать что-то на самом деле, оказывается, что это не для тебя. Нужно стремиться знать свой продукт и свой рынок лучше чем кто бы то ни было. Чем бы ты не занимался, всегда есть кто-то, кто стараетс

WCF: The underlying connection was closed

В одном из проектов, которым я сейчас занят, появилась странная ошибка - при обращении к одному из методов сервиса WCF, вылетает " The underlying connection was closed: The connection was closed unexpectedly ". В самом сервисе необработаных ошибок нет (по крайней мере, ClrDbg их не показывает). После небольшого поиска нашел достаточно интересную причину ошибки: Метод, который приводил к ошибке имеет следующую сигнатуру: DataSet GetObject(long id); В своей реализации, метод создает типизированный датасет, разный, в зависимости от типа объекта и возвращает его клиенту. Важный момент - формальный результат фунции -  DataSet, а фактический - какой-нибудь SuperDataSet. Оказываеться, в этом случае что-то ломается в сериализации DataSet-а и в том как этим пользуется WCF, что и приводит к вышеописанному поведению. Как это чинить: Простейший способ починить - скопировать содержимое типизированого DataSet-а в нетипизированный, перед возвратом. [OperationContract] DataSet GetObject(long

Какая максимальная длина URL

В одном из ASP.NET проектов мы передавали через строку запроса очень много параметров. Иногда длина URL достигала 1200 - 1300 символов. С такой длинной проблем не возникало, но возник вопрос: а какая максимально-допустимая длина URL? Небольшое исследование показывает такой результат: Internet Explorer обрабатывает URL не длиннее чем 2083 символа . В то же время, RFC 2616 , говорит следующее: The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15). В вольном переводе: Протокол HTTP не содержит никаких ограничений на длину URL. Сервер обязан(!) уметь обрабатывать запросы ко всем ресурсам, которые он обслуживает. Если некоторые из них содержат формы, котрые могут фо

Еще про стройку века

Недавно я писал о том, как " выгодно вложил деньги ". В этом же доме, 8 квартир были профинансированы Министерством Чрезвычайных Ситуаций Украины. Вот нашел интересную информацию по теме (источник - сайт Главного Контрольно-Ревизионного Управления Украины ): Посадовими особами МНС до цього часу не забезпечено належний контроль за виконанням оплачених договорів з будівництва житла для військовослужбовців та достовірністю бухгалтерського обліку і звітності по відповідних операціях. Так, до внесених у 2001 році інвестицій на суму 534,2 тис. грн. у 2004 році МНС додатково сплатило підряднику - ЗАТ „Укрбудінвест” 1,1 млн грн. за житло в м. Ірпені по вул. Миру, 3б. У вересні-грудні 2004 року Перший заступник Міністра МНС Косолапов А.Г. підписав акти про прийом 8 квартир за цією адресою площею 722,39 м кв. на суму 1,6 млн грн. Фактично на час перевірки будинок в експлуатацію не введений, проте по бухгалтерському обліку МНС суму списано на видатки. Крім того, МНС не застосувало до ЗА

This type of page is not served

При попытке обратиться к сайту "http://localhost/test/" получаем ошибку: Server Error in '/test' Application. -------------------------------------------------------------------------------- This type of page is not served. Description: The type of page you have requested is not served because it has been explicitly forbidden. The extension '.asax' may be incorrect. Please review the URL below and make sure that it is spelled correctly. Requested URL: /test/Global.asax -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433 Сайт не работает! Вообще! Лучшие умы компании 30 минут бьются над этой проблемой! Пока кто-то не задает разумный вопрос: "А на каких основаниях, ASP.NET вообще дожен отдавать файл с расширением asax? А чего он вообще собрался его отдавать?". Оказалось, кто-то указал IIS-у отдавать файл Global.asax, по-ум

Количество информации в мире растет, растет ли суммарный объем полезных знаний?

Еще совсем недавно в школе учились 8 лет, потом 10, потом 11, а вот теперь уже 12. Основная аргументация для увеличения времени на среднее образование - возросший объем знаний. Наши предки знали каким образом надо убивать мамонта, мы же толком не знаем как он выглядел. Знали какую травку надо пожевать, когда живот болит и как правильно хранить мясо без холодильника. Сейчас это мало кто знает, но зато все умеют пользоваться электронной почтой и мобильным телефоном. Интересно, если бы каким-то образом разбить все знания в мире на отдельные факты, например: 1 литр воды, на уровне моря, весит 1 кг; самая высокая гора - Эверест; машина моего соседа - желтого цвета; .... и сравнить количество фактов, известных, в среднем, одному современному человеку и одному жителю начала нашей эры. Каков был бы результат?

С прошлого года осталась тыква

Зображення
Собираюсь кому-то подарить :)

Век живи - век учись

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

Стройка века

Кажется уже полстолетия прошло с тех пор, как я купил себе квартиру… Точнее, не купил а «инвестировал в строительство элитного жилого дома в городе Ирпень, улица Мира 3Б». К тому времени, у меня было $8000 личных сбережений и еще $27000 пришлось взять в долг. Не в банке – насобирал по родственникам и друзьям (вот когда понимаешь что много друзей, это очень хорошо). Итого, 35 тысяч баксов, двумя платежами были загнаны на счет ЗАО «УкрСтройИнвест» после того, как я проверил наличие у них разрешений, лицензий и даже увидел несколько готовых этажей по указанному адресу. Договор, в котором черным по белому указано: не парьтесь Андрей Владимирович, в первом квартале 2005-го года Вы обязательно получите свою 3-х комнатную квартиру. Уверовав в силу «печатного в договоре» слова, я сосредоточился на том, чтобы вовремя отдать долги. Примерно один раз в месяц, ездил посмотреть на прогресс в строительстве и каждый раз видел на один этаж больше. Официальные лица ЗАО «УкрСтройИнвест» в телефонных ра

Бензин

В то время как у нас бензин приближается к отметке $1.3, в некоторых странах Ближнего Востока он дешевле грязи: Не может не радовать цена на бензин – 65 местных копеек за литр 95-го. Это примертно 15 американских центов. Я думал в Эмиратах халява с 45 американскими центами за литр, а в Саудии вообще цена на бензин одна видимость, чтобы бесплатно не раздавать. Нашел в заметке Романа . А вообще, хороший цикл статей.

Смена пароля пользователя администратором в MembershipProvider

В .NET Framework 2.0 есть замечательный сервис - MembershipProvider . Благодаря ему, отпала необходимость реализовывать доступ к базе пользователей в каждом новом проекте. Теперь это организовано стандартным способом и все знают как (что характерно, даже новые сотрудники, только что пришедшие в проект). Замечательно. Но, возникла задача: администратор системы должен иметь возможность сменить пароль пользователю . Вроде все просто, есть метод ChangePassword , которая именно это и делает. Но посмотрим на него внимательнее: public abstract bool ChangePassword( string username, string oldPassword, string newPassword ) Оказывается, надо знать старый пароль, чтобы установить новый. Видно этот метод предназначен не для администратора, а для самого пользователя. Хорошо, горевать не будем, есть еще один метод: public abstract string ResetPassword( string username, string answer ) Этот не требует старый пароль, но требует знать "девичью фамилию матери пользователя"

Посчитать количество вхождений каждого слова в текстовом файле

Одному из кандидатов на дожность программиста предложили решить задачу: Написать программу на C#, подсчитывающую количество вхождений каждого слова в текстовом файле. Его решение показывать не буду, у него нет большого опыта разработки на этом языке, но после того как мы обсудили его решение, он попросил мое решение. Вот оно. Кто напишет лучше? using System; using System.Collections.Generic; using System.IO; using System.Text; class Program { static void Main() { SortedDictionary < string , int > words = new SortedDictionary< string , int > (); foreach ( string word in WordIterator(Console.In)) { int count; words[word] = words.TryGetValue(word, out count) ? count + 1 : 1 ; } foreach (KeyValuePair< string , int > pair in words) Console.WriteLine( "{1,8} {0}" , pair.Key, pair.Value); } static IEnumerable< string > WordIterator(TextReader sr) { StringBuilder sb = new StringBuilder(); int ch; while ((ch = sr.Read

Хочу развить мысль, пойманную в bash.org-е

При оптимизации соотношения "цена/качество", следует помнить - на ноль делить нельзя!

Крутые машины в такси

В воскресенье надо было поехать на пьянку. Естественно, первым порывом было ехать на машине - чтобы успеть к началу (а то ж, начнут пить без меня :), но таки убедил жену ехать на такси. С такси повезло: машина в моем районе нашлась быстро и не какой-то Lanos , а Peugeuot 407! Машина хорошая, большая, расзместились с комфортом, завелась с пол-оборота... И тут она начала сама себя тестировать и выдавать диагностику на экран компа: плохое давление в покрышках... сгорела лампочка в правом поворотнике... чего-то там надо заменить... больше не работает контроль давления в покрышках... и т.д. Доехали мы нормально. Но я бы на месте водилы этот экран непрозрачным скотчем заклеил бы :)

Риэлтеры

Обещал написать комментарии к " Как взять на работу хорошего программиста ", но что-то не хочется сейчас об этом. Зато хочется о жизни. Возьмем, например, - меня (не из самолюбия, просто лучше всего знаю этот пример): Где-то в начале 9-го класса я понял что программирование, это - мое. К концу 9-го, сносно писал на Бэйсике под ДВК-2 (и лучше всех играл в тетрис). К концу 10-го, хорошо писал на Паскале и Ассемблере под x86 (и лучше всех играл в Wolf 3D), в это же время бросил карате, так как 3-х часовые тренировки мешали постижению высот программирования. К концу 11-го, выиграл пару олимпиад по информатике, написал научную работу для Малой Академии Наук Украины и окончательно понял, что программирование, это - мое. Весь 10-й и 11-й класс жертвовал ради программирования даже возможностью погулять с любимой девочкой (первая настоящая любовь, между прочим! Правда потом я ее бросил ради достижения высот...). Поступил в ВУЗ на Прикладную Математику и очень хорошо отучился первых

Как взять на работу хорошего программиста

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

Смена названия

Решил сменить название блога. Во-первых: feedburner почему-то некрасиво показывает заголовок, содержащий кирилицу. Во-вторых: в течении 30 минут, абсолютно случайно наткнулся на 2(!) блога, которые называются "Мысли вслух". И вообще, оказалось что их много .

Хорошие умолчания - залог успеха

Большинство современных программных продуктов очень настраиваемые и гибкие. И тулбары можно как угодно передвинуть и полей добавить к хранимым объектам. Каждый может настроить программу по своему собственному вкусу. Казалось бы, после того как разработчик внедрил все эти настройки, не так уж и важно какой размер окно имеет по-умолчанию. Ведь, как только пользователь изменит размер окна, на удобный для него - окно навсегда (до следующего изменения) останется таким же! Но... Вы помните что делали большинство пользователей, после инсталляции Internet Explorer 4.0? Правильно - отключали Active Desktop , который по-умолчанию включен. Конечно, это очень простое действие, но после инсталляции Windows NT 4.0 (с тем же IE 4.0) я делал до 20 таких действий. А это уже непросто. И если после установки написанной Вами программы, пользователь тратит 10 минут на настройку, вместо того чтобы немедленно начать работать - следует подумать об умолчаниях!

Телесериал "Firefly"

Вместе с женой и 6-ти летней дочуркой присели на телесериал Firefly . Вот уж действительно - семейный фильм. Тут тебе и фантастика и вестерн и сложные человеческие отношения. И все это подается в форме, позволяющей оставить ребенка перед экраном и не бояться, что она увидит жестокое убийство или раньше времени озадачится вопросом: "А что это дядя с тетей делают?" Сериал старый, но я его раньше не видел. Если Вы тоже - рекоммендую.

Повышенные требования к авторам блогов

Зображення
Весь 2007-й год, я активный читатель блогов, а не писатель. Причем, несколько месяцев назад, поймал себя на том, что читаю только сами посты, а комментарии не читаю. "Возможно я упускаю много интересного", подумал я и стал читать комментарии тоже. Из них я понял что читатели уже не воспринимают автора блога, как человека, который пишет для себя. Автор блога - человек, который начав писать интересный блог - взял на себя обязательство его писать . Если автор долго не пишет, его достаточно жестко спрашивают "а почему?". Если автор отличился серией интересных постов, содержащих захватывающие идеи, то, как только он напишет что-то не так захватывающее - получит такой вот комментарий : А в чем интрига топика? Вроде все написано правильно. Остается молча кивнуть головой и перейти к следующему. Что предполагалось для обдумывания? Получается, если не уверен что сможешь все время "отжигать", то блог лучше не заводить.

Объявление "Продаю Nissan Almera N16" уже не актуально

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

Возвращение Живых Мертвецов

Очень долго ничего не писал в блог, по многим причинам: Были технические проблемы с моим блогом на blogger.com Было мало времени, как на то чтобы разобраться с возникшими проблемами, так и на то, чтобы писать Не было желания писать В последнее время, желание поделится своими мыслями стало посещать все чаще. Да и все технические вопросы решены. Буду писать.