exceed_er: (Default)
...и, в частности, про Guid'ы. 3 полных рабочих дня серьезной работы над вечно ускользающей проблемой, и еще несколько мелких попыток ее решить до этого, были убиты на совершенную чушь.

В MS SQL есть временами удобный тип - GUID. В С# же, в системной библиотеке, по причине тех же удобств, есть структура Guid. Их сходство невероятно - формат, 128-битовость, свойства случайности генерируемых идентификаторов... Внимательный взгляд внутрь С# только подверждает: тип SqlGuid, возвращаемый из драйвера MS SQL, унаследован от System.Guid. Так что, можно брать "SELECT myguid FROM atable ORDER BY myguid ASC", и спокойно пользоваться резульататами, мастерски оперируя до-диезом? Нам ведь кажется совершенно нормальным, что myguidi.CompareTo(myguidi+1) будет всегда меньше нуля? Ибо MS SQL отсортировал их по возрастающей, таким образом в каждой предыдущей клеточке результата Гуид будет меньше последующей?.. Ага! Вот вы и попались.
Правильный ответ: иногда. Иногда будет, иногда не будет. Потому что Guid.CompareTo() сравнивает их как 128-битовые числа. А MS SQL считает последние 48(!) бит единственно(!) важными для сравнения... Не верите?

Зато пришлось, ломая глаза о дебри Гуидной кракозябры, сидеть с распечатками, и, чуствуя себя Франкенштейном Кобола 50-х, выискивать неправильно пробитую краточку. А потом, путем сложных логических вычислений, из дебрей же трансформацинного алгоритма с несколькими уровнями сложности, понять ЧТО же там не работает, и КАК оно на самом деле работает. Потом проверить документацию, и прочитать ее, но совсем не в том месте, в котором я даже теоретически мог бы ее найти. Ибо расписаны эти отличия в SqlGuid.CompareTo подсказке, а все алгоритмы работают на уровень выше, независимо от драйверов конкретных баз данных, и пользуются универсальным Guid'ом. Помощь для которого я внимательно прочтитал много раз... Ыыых.

Но проблема теперь даже не в этом. Достаточно ли уникальны последние 48 бит, чтобы полагаться на однозначность сортировок больших наборов данных в будущем? Ибо ж, блин, оно и QA скорее всего пройдет, а вот когда у клиента будет очерендная пара миллионов записей, вот тут и ё... упадет моя программка. Мда. И че теперь? Сосать всё в память, ибо MS SQL сортировке не обучен? В непонятках я... Спасибо за внимание, крик души просто.
exceed_er: (Default)
прет нипадеццки :)

Раз в Торонто уже был первый снег, выложу осенних фоток. Только так, не спеша...

exceed_er: (Default)
Решил сделать у себя в ЖЖ евроремонт и положить новый линолеум. В основном интересно было разобраться с системой S2. Туториалы у них бездарные, почти час потратил, чтобы врубиться в фишку. Зато потом все с лету получается. В общем, если будут проблемы при просмотре, то не удивляйтесь, дайте пару дней устояться.
exceed_er: (Default)
Августовский вечер, немного прохладно, я смешал себе дринк и сижу курю на балконе, набирая этот пост и смотря сквозь стекло ограждения на проезжающие мимо машины. Только что мы посмотрели с дочкой легкую и прикольную комедию и она валяется у себя в комнате - читает перед сном. Суббота. Воздух пахнет свежестью; днем прошел проливной дождь. Не могу решить, чем я хочу заняться сейчас... может, заорать в аську: "Ночной Дозор! Всем выйти из сумрака!"?

Расскажу я лучше маленькую поучительную (upd: see xemilona's comment) историю. Вот уже несколько лет мы в августе собираемся теплой компанией, и выезжаем в коттедж на попить пива, поиграть в теннис, покурить, поплавать в озере, попариться в сауне ну и всячески отдохнуть все длинные выходные... Обычно в это все не входит понятие "поспать". По крайней мере не в варианте "достаточно поспать". Плюс по прибытию в славный город Торонто я выяснил, что у меня есть кое-какие проблемы, о которых свидетельствовали 19 срочных сообщений на моем мобильнике (нет, к счастью он не работал в коттедже). На их резрешение ушел остаток выходного понедельника, так что поспать мне и после коттеджа не удалось. Ранним же утром ни свет ни заря практически среди ночи где-то в пол-десятого я подъехал к подьезду [livejournal.com profile] mindsurferа, чтобы подбросить его на работу. Он же, пребывая в сравнительно таком же состоянии опухшей сомнамбулы, не спешил весело выпрыгивать из подьезда, радостно декларируя "на рработу, на рработу!" а напротив, совсем и не выходил из подьезда ни разу. Даже ползком. Даже в ответ на позывные моего мобильника. Я решил развернуться, пока есть время, чтобы не обьезжать потом квартал. Успешно закончив этот выдающийся маневр я обнаружил, что стоять на правой стороне в общем-то нельзя - я буду мешать прозжающим машинам,  а слева среди как раз было место между двумя "Бьюиками". Запарковавшись параллельным способом не далее чем в 30 см от бордюра и загадав желание, я уселся терпеливо ждать. Не удивительно совсем, что ожидание перетекло в сладкий безмятежный утренний сон. Разбудило меня нетерпеливое постукивание в пассажирское окно. Окно это заполонило строгое лицо полицейского, который однако своей речью не мог проникнуть в отличную звукоизоляцию моей машины и напоминал рыбу в аквариуме. Я тут же нажал кнопку опускания стекла, изобразил помятую улыбку мученника и попытался навести более-менее приемлемую резкозть, пока мой мозг судорожно перегружал операционку из Прислинукса в Просниндоуз. Далее последовал такой диалог:
- How are you? Sir, you have parked on the wrong side of the street!
На что полузагруженная операционка захотела слепить хоть какую-то отмазку и, вспонив что в Европе можно парковаться сразу на всех сторонах и даже на некоторых тротуарах, попыталась сьехать на незнание. Я начал фразу "а что, это запрещено - парковаться на неправильной стороне дороги?" и выдавил
-Is it?... тут по идее должно быть слово "запрещено", но из кэши лезло только немецкое "verboten" и никаких английских аналогов не наблюдалось. Я безнадежно висел. У меня даже курсор не двигался. Таким образом до звуковых рецепторов полицейского дошло только "is it?" что он понял как просьбу обьяснить, какая сторона дороги правильная. И только щелки моих опухших глаз и судорожные движения по выпарковыванию напомнили ему о каких-то неотложных делах, так что тикет он решил мне не выписывать... только покачал головой и в его глазах было написано "Этот мир безнадежен, зачем ему полцейские?.."

Пойду я схожу за еще одной сигаретой - еще целых пол-стакана дринка. Надо какую-нить иллюстрацию подобрать.
exceed_er: (Default)
Вчера было два раза что у меня высыпалась полная голова exceptions и я чуть не завис конкретно

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

Обманчивость внешности
Меня не раз после отьезда из союза внешность людей обманывала... Вчера захожу в обычное время своё продуктов купить - ну то есть где-то в час ночи - в супермаркет. Накидал всякого в корзинку и подхожу на кассу. Стоят два чувака, покупают всякую гадость одноразовую для микроволновок. Такие грязнююючие все, небритые, в пятнах краски, тощие, глаза полузакрытые как обычно у нариков и движения все очень медленные. Ну у меня естественно некоторое лёгкое внутреннее напряжение - ожидаю нечто вроде "-Хули ты пялишься?" и готовлю стандартным совет N1 в ответ. Ну, по советской привычке. Тут его в кассу пробивают и спрашивают Air Miles. Он ко мне - причем достаточно вежливо так: если у вас есть мили, то типа, не стесняйтесь воспользоваться и вот ещё купон, бо мы тут проездом: и отдал мне купон на пять баксов на какую-то фигню.

Бывает, да.
exceed_er: (Default)
 
... "Чё-та мне лицо жмёт" - сказал пилот вертолёта и превратился в Агента Смита... (с)

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

Проснувшись, я обнаружил что моя голова притворилась несущим винтом Ми-24 с уныло отвислыми лопастями, но сохранила изрядную инерцию вращения. Поставив себя на ручной тормоз возле зеркала в ванне (тормоз в течении дня снять так и не удалось) я принялся драить палубу и думать о смысле жизни. Смысл жизни предстал мне в виде бесконечномерного пространства тороидальной топологии. Операционка в голове тут же повисла, перезагрузилась в safe mode и отказалась выполнять какие-либо осмысленные действия.
Поэтому я не помню, как я попал на работу.

Назадолго до обеда ко мне подошёл наш ДиБиЭй (впрочем, он иногда разрешает опускать все титулы перед его именем, включая этот) и предложил полетать вместо ланча. Учитывая всё вышеописанное, нетрудно понять что я не способен был удивляться. Только где-то проснулась уверенность, что мне предлагают не траву. Выяснилось, что от меня требуется всего-лишь предоставить транспорт в малоизведанную местность в 15 минутах от работы. Взамен я посижу за штурвалом чего-то более продвинутого, чем ковёр-вертолёт.

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

дальше - больше... фоток тоже )
exceed_er: (Default)

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

Ресторанчик не обнаруживался, наоборот, кухня в округе стала клонится к индийской и в конце концов свелась к варициям на тему либо Бомбея либо Бангладеша, а у индусов я ел за день до этого. Посему решено было поймать каб (о, эти знаменитые Лондонские так называемые такси) и уговорить его меня отвезти куда-нибудь. Задание было сформулировано предельно точно: фиш и чипсы в пределах 20 минут ходьбы от моего отеля. Водитель согласился и мы поехали, как обычно, по неправильной правильной стороне дороги. При этом он начал нести, на мой взгляд, соврешенную ахинею: "в сити Вы fish and chips не найдете... тут рестораны, пабы, бары... какая тут фиш н чипс... вот я знаю место... это хорошее место... сразу к югу от Tower Bridge - там мы сейчас и будем..." В принципе меня устраивало это, потому что до моего отеля от Тауер идти минут пять, хотя как-то не складывалось... Что это он имеет ввиду под "тут только рестораны, а Вам нужны рыба с картошкой"? По пути я заметил несколько приличных заведений интересующего меня толка, а водитель, отьехав метров 300 от моста сказал что это тут вот сразу за углом, но там негде стать. Я расплатился и тут он сказал фразу для меня совсем невероятную "Вас подождать?". "-Вау!": удивился я. Вот это уровень сервиса! Он значит тут будет стоять и ждать пока я там жру. Интересно, на счетчике или как? Мне его стало жалко и я сказал чтобы он ехал, а в отель я все равно пешком ещё перед сном хотел пройтись.

Завернув за угол, я обнаружил...Read more... )
exceed_er: (Default)
Когда я работал в Германии, у меня было два шефа сразу там. Они 50/50 фирмой владели. Точнее, 40/40, там ещё инвестор был, но он только за %%, он в дела не лез.

Шефы были в общем-то нормальные, я бы сказал классные, то есть не гнушались плотских удовольствий типа там бимеров 5тых эМ-тюнаных, ну и ездили соотвествующе... В Германии есть где и как. Но никогда не вели себя заносчиво. Ну да чтобы продавать софтверы в финансовые структуры, им надо было одеваться соответственно. Понятно что надо нравится на званных вечерах женам известных людей и т.д. - в общем, паблик имидж. Из семей они были ителлигентных, хоть и не бедных, и пальцами никогда не кидались. А ещё у нас был шеф дизайнеров - очень интересный человек. Ну и дружили мы с ним немало, он меня научил многому на самом деле. Но у него была мулька. Бимера у него не было, он собирал старые синтезаторы и носил исключительно рубашки 2-3 старинных модельеров. Один жил в Дании (где в Дании, не помню). другой в Гамбурге. Рубашки были из специального хлопка, очень натурального, по старой традиции откуда-то из Китая завозимого ещё там с прошлого века... Короче 750-900 тогдашних марок за рубашку. По тому курсу это было 600 баксов зелёных. Read more... )
exceed_er: (Default)
Попробую. Заодно решу, знаю ли я себя. Когда то было модно написать о себе 100 фактов. Меня хватило на 37 подряд. Хорошее число :)
Read more... )
exceed_er: (Default)
Вчера женился человек, с которым так или иначе были связаны предыдущие 15 лет моей жизни. Ну и конца этому пока не видно :) Желаю им долгого счастливого пути вместе.


Настроение философское немного. Посты [livejournal.com profile] 34r434 читаю обычно с удовольствием, а тут в тему прямо сразу в меморис попал: про жизнь. Может быть ничего особо нового или гениального в этом посте нет, но сказано хорошо и правда.

Хочется куда-нибудь сбежать. А надо плотно поработать. Эксидер закатал рукава.

Вообще за последнее время, как обычно, много чего происходит. А пишу я мало. Потому что некогда. Зачем-то зарегистрировался в photosight.ru - хотя фотограф из меня никакой. Посмотрим, может критикой немного выправят корявые руки :--)

Текущие планы на следующую неделю расчитаны исходя из 30 рабочих часов в сутках и сколько-то ещё там на отдых и сон. Наверное, их всё-таки нужно пересмотреть. Или переехать на другую планету пожить :)
exceed_er: (Default)
Значит так. Как и у большинства из вас, у меня чтобы зайти на фирму, есть такая магнитная карточка. К ней полагается код. Вводишь код, засовываешь карточку в эту... карточную щель.... высовываешь... иногда опять засовываешь... высовываешь... ну, рано или поздно загорается зелёная лампочка и дверь открывается. Если всё нормально и на улице выше 20 градусов мороза, то обычно с первого раза.

Карточка эта у меня 2 года. До этого другая была и поломалась.Read more... )
Page generated Jul. 23rd, 2017 12:47 am
Powered by Dreamwidth Studios