12/27/2008 1:22:33 PM

Не мое.

  Этим рождеством Санта Клаус был к нам добр. Мы получили новенький Nikon D700 и клавиатуру+мышку Microsoft Entertaiment 7000, с которой я сейчас и пытаюсь писать тексты. Поскольку все равно надо тренироваться, начну с нее самой.

Клавиатура очень добротная. Очень нравится. Безпроводная (блютуз). “Гнутая”, но не разделенная на 2 половинки, как я и хотел. Правда, я все промахиваюсь мимо клавиш, так как размеры оных (а кое-где и расположение) не стандартно. Впрочем, и моя предыдущая клавиатура стандартностью этих двух параметров не блистала. Так что, с одной стороны – привыкну, с другой – мне ж сложней привыкать-то, с одной нестандартщины на другую :) Но нравится.
На клавиатуре есть даже небольшой тачпед.  Который легко переключается в управляющий джойстик и обратно. Вообще я тачпедом даже на ноуте не пользуюсь, когда мышка есть, а вот Ленка любит. Ну и, опять же, иногда быстрее тачпед, чем за мышой тянуться. Тем более, что и по расположению удобнее – тачпед справа клавиатуры, кнопки левого и правого клика – слева, под другой рукой.
Небольшое недоумение вызвали сенсорные кнопки “верхнего ряда” – Escape, функциональные и Home с End.  С одной стороны – ничего страшного, конструктив такой, что руку случайно не положишь. С другой – как-то привык я кнопки чувствовать. Словом, доволен, привыкаю.

Фотоаппарат – тоже вещь. Очень нравится конструктив. Практически до всего можно “долезть” с кнопок, не нужно копаться в меню. Уровень шумов тоже впечатляет, для сравнения снимал одно и то же, в одно и то же время, в одних и тех же условиях при одних и тех же параметрах на D700 и D70.

D70-vs-D700

Оба снимка в RAW, никакой постобработки, шумодав выключен, естественно. Конвертация в JPEG еще делов наделала, но порядок виден.

Зато теперь заново привыкать к объективам. Ибо любимый 80-200 теперь именно 80-200, а не 120-300 с учетом кропа, как было раньше ;) С одной стороны отпали проблемы вида “вот еще бы миллиметров 10 убрать – и все бы влезло!”, с другой стороны… А с другой стороны – нет у нас больше длиннофокусного объектива. Ибо “настоящих” 200 миллиметров для съемки, например, животных в зоопарке, уже маловато :)
С 17-55 проблемы, он же DX, “кропнутый”. Его теперь можно использовать только начиная с 24мм (меньше – появляется рамка). Опять же, если разобраться, то 17мм на кропе это где-то и есть 24мм “настоящих” в лучшем случае, так что тут нужно просто следить, чтобы не выставить фокусное расстояние меньше 24..
Но разница, конечно, большая между двумя этими камерами. Подробнее, может быть, Лена напишет позже… :)

Такое вот рождество :)

Не мое.

Tags:

12/27/2008 12:26:00 PM

Давненько никуда не ездили особо, поэтому решили выбраться в эти длинные праздничные выходные на Голд Кост. Однако, не получилось – оказывается, там нужно бронировать места в отелях сильно заранее. Поэтому поехали в Даббо (Dubbo), смотреть тамошний зоопарк.

Так, как дорога занимает 5 с лишним часов (400 с чем-то километров), выезжать пришлось рано, в 7 утра. Дорога и заняла 5 с лишним часов, а обратно даже дольше из-за особенностей местного дорогостроения и пробки в Голубых Горах (!) :)

Животные начали попадаться задолго до прибытия на место: пока ехали мы видели несколько кенгуру, одного вомбата и много зверьков, похожих на каких-то небольших лисиц. Последних точнее идентифицировать не удалось: когда сбивают кого-то мелкого, от него не много и остается-то…

Даббо встретил нас дождем, который, однако, кончился еще до того, как мы успели заселится в отель. Мы еще в европе привыкли останавливаться в отелях “Formule-1”, когда нужно всего лишь вечером придти в номер, переночевать и утром ехать дальше: в отелях этой сети всегда очень дешево и нет проблем с парковкой. Так же решили поступить и здесь.
По прибытии на место оказалось, что местный даббовский “Formule-1” даже лучше тех, которые мы видели раньше – в номере оказался собственный душ (обычно бывает несколько душевых кабинок на этаже). В общем, все было бы хорошо в этом отеле, если бы не сверчки. Да, один пробовал петь где-то внутри кондиционера, но это мелочи. Возможно через тот же кондиционер, а возможно как-то через вентиляцию, а может используя обе эти возможности они просачивались прямо в номер. Сначала мы пытались их отлавливать и выпускать в окно обратно, но потом, поняв, что это напоминает борьбу с мельницей, плюнули на это дело. Утром я уже равнодушно обратил внимание на пяток сверчков возле кровати да на трёх штук в душе. В остальном же с отелем все отлично. А если бы номер был не на первом этаже, то может быть и со сверчками бы не так повезло.

Ну так вот, дождь покапал и прошел, солнце в целом свете! А при +31 градусе это означает, что дышать придется практически той же водой в виде испарений. И большим, и детям.
Было действительно влажновато, ничего не скажешь. Но и это нас не остановило от посещения зоопарка.

Зоопарк оказался таким, каких мы еще не видели. Он очень большой – там внутри только “окружная дорога” где-то 6 километров, так что там можно либо брать на прокат велосипед, либо электромобиль. Либо можно ездить на своем авто, но это же не так интересно, так что мы пошли пешком.
Животные в зоопарке Даббо содержатся не в клетках и даже не в вольерах, как мы видели раньше. Тем, кто не умеет плавать,  например, гиббонам и лемурам, тут отведены целые островки. Там два вида гиббонов (две семьи) и для каждого отведено по два острова, между которыми повешены канаты, чтобы обезьяны могли перелезать с одного своего острова на другой. Эти же канаты они используют для позирования перед публикой, смотрящим на них с берега (по другим данным это не позирование, а демонстрирование того, кто тут хозяин).

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

Бегемоты – это вообще рай. У них там водоем такого размера, что в середине этого водоема – остров размером с обезьяний. Бегемоты (вроде их двое) практически все время плавают-ныряют, но иногда вылезают погулять по острову или на бережок – там для них тоже нехилая полянка имеется.
Кстати, о бегемотах. Узнал тут, что бегемот – крайне агрессивное и территориальное животное. Увидев на своей территории “соперника”, например, рыбака, он просто идет его убивать. И наибольшее количество смертей от встреч с животными в Африке происходит именно по причине неудачной встречи с “добрым” бегемотом.

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

Там и еще полно всякой животины (хоть и не столько много, как в Сиднейском зоопарке, но зато какой размах!), про всех писать не буду.

А, еще мы купили дополнительную программу “утренние прогулки” (поскольку, опять же, программу, предусматривающая поздневечерние рандеву с животными и гидом, ночевку в палатке на территории зоопарка и прогулку утреннюю, нужно было бронировать заранее). “Утренние прогулки” начинаются до общего открытия зоопарка, в 6:45 утра. Гид проводит по зоопарку (в том числе и по местам, закрытым для общего посещения), рассказывает что к чему. Ну и животные в это время еще бодры и веселы, а не находятся в послеобеденной дрёме.
Тоже было очень интересно.

Даббо провожал нас дождем, который начался сразу как только мы произнесли фразу “вроде все посмотрели” и сели в машину. Дождь был такой.. такой.. Ну, как когды мы как-то выезжали из Парижа и ехавший сзади нас “Корвет” просто “сплыл” на обочину по причине своей низкой посадки.
Видно было метров на 10-15 вперед, дальше ничего нельзя было различить из-за дождя. Прямо над машиной грохотал гром и сверкали молнии. Дождь сопровождал нас до самого Сиднея и прекратился только когда мы уже практически подъехали к дому.

Кстати, дождь отлично показал, как плохо развита дорожная инфраструктура в NSW. На всем пути Сидней-Даббо практически не встречается придорожных заправок: только в городках, через которые приходится проезжать. Сравните с Европой: заправки достаточно часто и перед каждой стоят знаки “Заправка через 2 километра. Следующая заправка через 24 километра”. Тут – ничего подобного.
В дождь лезть в багажник за едой, а тем паче перекусывать на улице неудобно. Так выяснилось, что в доль дорог нет не только заправок, но и кафешек, в которых можно что-нибудь поесть. Я не спорю, в тех же мелких городках, если не очень мелкие, есть макдональдс. Но, поскольку хотелось именно есть, а не в туалет… Короче, понятно, почему нация превращается в нечто одинаковое в высоту и в ширину с кока-колой в одной руке и гамбургером в другой. Еды-то просто нету. А казалось таким естественным остановиться в придорожной едальне, мы даже еду с собой брать не привыкли. А тут даже хлеба купишь не на каждой заправке. Зато снейк – это святое.

В общем, хорошо съездили, рекомендую :)

Tags: ,

12/21/2008 12:40:00 PM

Намедни пересматривали “Дневной Дозор”. Его тут показывали на русском языке, но с английскими сабтитрами. В очередной раз не понял, почему Попугая можно было “мочить” так, что все лицо в кровь, и Хабенского можно было, а вот “сынишку” – нельзя, ибо “если хоть одна капля крови прольется”. Странно.

Впрочем, я не о вампирах писать собирался, о животных.

Тут ночных животных полно. Про однозадачных поссумов я уже писал, есть еще вомбаты, бандикуты всякие. Есть еще летучие лисицы. Симпатичные животные, надо сказать, в отличие от “младших братьев” – летучих мышей.

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

А намедни мы посетили ботанический сад. Это такой парк в самом-самом центре Сиднея, там всякие растения растут, люди гуляют. Кстати, о людях: в  Австралии же все наоборот, поэтому вместо привычных и милых сердцу повелительного наклонения табличек “По газонам не ходить! Штраф 500 рублей!” они повесили буквально следующее:

Пожалуйста, ходите по газонам...

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

Так вот, в этом ботаническом саду я впервые по-настоящему увидел летучих лисиц. Диких, конечно. Висят на деревьях. Сотнями, наверное. Что примечательно, не спят, смотрят.

Высоко сижу, далеко гляжу.

Лазают по веткам, потягиваются, переговариваются… Голос у них еще такой.. Специфический.

И даже летают! Днем!

 

Забавные зверьки с симпатичными мордами :)

12/7/2008 3:19:59 PM

Вообще-то я давненько уже писал:
- “О пользе IEnumerable
- “Еще о коллекциях и многопоточности.

Сегодня встретил вот постинг Эрика Люпперта (человек имеет прямое отношение к созданию C#) относительно того, когда же стоит пользоваться массивами (которые Array).
По его мнению – никогда. Причины перекликаются с теми, о которых писал и я, но почитать интересно.

Ссылка: http://blogs.msdn.com/ericlippert/archive/2008/09/22/arrays-considered-somewhat-harmful.aspx

12/3/2008 12:04:26 PM
yellow_line

Почти год назад я уже писал о том, для чего нужны DTO(и это не только веб-севисов касается, это вплоть до контрактов между бизнес-логикой и UI, если нужно) и какие проблемы решаются с их помощью. Тогда я говорил об этом в связи с тем, что использовать объекты бизнес-модели в качестве этих самых DTO вредно и вообще плохо.
Однако, в последнее время столкнулся с другой крайностью, которую я бы обозвал DTO Driven Development. Ситуация получается тоже странная. Я объясню.

Представьте себе достаточно крупное приложение: различные там слои, подсистемы, WCF-сервисы, UI и т.д. Теперь в общем виде представьте себе физическую структуру этого приложения: всякие там веб-сайты, WCF-сервисы, куча DLL с разными логиками, все как обычно. А среди всей этой толпы DLL есть одна с названием MyCompany.DTO.dll. В этой библиотеке сложены DTO для всего приложения. Ну, там, UserDTO, CompanyDTO, ProductDTO (суффиксы только для примера). И все “слои” и подсистемы этого приложения пользуются этими DTO для того, чтобы обмениваться данными. Делается это для того, чтобы, дескать, не увеличивать сложность приложения, не “плодить” “лишних” классов, и еще куча-кучей благих побуждений.

Вроде бы все прекрасно, а на самом-то деле просто ужас какой-то. На самом-то деле получается не передача необходимых данных от одной подсистемы (или, там, слоя) в другую, а изобретение “велосипеда” в виде “какими бы имеющимися DTO воспользоваться, чтобы передать то, что я хочу”.

Пример: сервис, возвращает информацию о том, куда пользователю должен быть отправлен товар (почтой). Клиентская часть возьмет этот адрес и распечатает на конвертике.

Если еще не понятно, то мы получаем навязанный нам “третьей” стороной контракт.
По идее мне нужно вернуть имя/фамилию пользователя и его почтовый адрес, а приходится возвращать пару UserDTO+AddressDTO, при этом и тот и другой объект будут содержать либо кучу совершенно ненужной в рамках данного контекста информации (какие-нибудь поля CompanyID, ManagerID, Age, LoginName для пользователя и какие-нибудь PhoneNumber, FaxNumber для адреса), либо же “ненужные” поля будут незаполнены, что вообще бред полнейший, так как получатель имеет на руках непонятно почему “недозаполненный” объект.
Если же нужно в этих данных изменить и отправить назад – то вообще полный кошмар: как заполнять эти объекты, где брать недостающую информацию, что я обязан заполнить, а что – нет?
По сути нам говорят “вы будете укладывать свои данные вот в эту структуру. Ах не лезет?! Нет уж, упихивайте!”

На стороне же клиента, который обращается к заданной подсистеме, вообще “непонятки”: вместо одного простого объекта, просто содержащего необходимую информацию и укладывающегося в его бизнес-модель, ему приходит два каких-то “левых”. Лично я бы не обрадовался на месте программиста, работающего с таким API.

Кроме того – потенциальный “косяк” на будущее. Если нам вдруг срочно потребуется где-то изменить имеющийся DTO, то это немедленно затронет ВСЕ подсистемы, где он был использован. И ВСЕХ клиентов этих подсистем. Даже если мы всегда точно знаем все места использования этого объекта, всех этих клиентов, то, согласитесь, править (да и хотя бы просто заново тестировать) все это дело как-то не очень-то и хочется.

Это все как-то уже и не очень сочетается с посылом “не увеличивать сложность”, не правда ли? Ведь один из главных столпов ООП – инкапсуляция. А что рекомендуется инкапсулировать? Правильно, инкапсулировать нужно изменения. Ну, чтобы можно было что-то где-то в одном месте поменять, а в других местах это и не аукнулось бы никак. Вот тогда и сложности никакой не будет.

Итак, какая ситуация была бы правильной:

  1. Каждая подсистема, имеющая внешний API, имеет собственный, ни от кого не зависящий набор DTO, который по смыслу подходит этому API.
  2. Изменения, вносимые в API подсистемы, затрагивают только этот API и, возможно, его прямых клиентов и НЕ затрагивают никаких других частей приложения. На самом деле, то, что вы передаете из API-функции своей подсистемы – дело только этой самой API-функции и тех, кто именно ее использует. Это и называется “контрактом”.
  3. Ваши подсистемы будут действительно независимы (к чему мы и стремимся).

Как этого добиться:

  1. Никогда не используйте объекты бизнес-модели в качестве контрактов данных (DTO) и наоборот. DTO – это только DTO. Они передают данные – и только, такая у них работа. Это опять сюда, плюс инкапсуляция потенциальных изменений. Плюс, опять же, в OOP укладывается: каждая сущность делает что-то одно.
  2. Пусть каждая подсистема имеет собственный набор DTO, относящийся только к этой подсистеме.
  3. Наплюйте на количество классов. Поверьте, никто вас в количестве классов не ограничивает, можно создать столько, сколько нужно. Честно. Легче поддеживать два или три маленьких специализированных класса, чем поддерживать и всюду притягивать за уши один большой и унивесальный. Даже и чисто по времени легче.
  4. Попробуйте оценить свои DTO именно как средство транспортировки данных между вашим подсистемой и ее непосредственным клиентом. То есть, ваш DTO не должен служить средством связи дяди Васи с дядей Петей, если вы сами не один из них :) Иначе однажды к вам придет Петя и скажет “хочу, чтобы Вася мне еще и сплясал, а твой убогий транспорт этого не позволяет! Меняй!” И будете менять, и менять везде, ибо переводить Васю с Петей на другой, собственный, транспорт может быть уже слишком накладно.
  5. DTO должен пересекать только одну желтую линию границу: границу той подсистемы, в которой он создан. Других границ (между дядей Васей и дядей Петей) он пересекать не должен.

Все гораздо проще, чем вам бы того хотелось :)

12/2/2008 12:49:00 PM

В Великобритании цены на жильё упали чуть ли не на 20%. Здесь пока не упали, но зато начала снижаться процентная ставка по ипотечным кредитам. К апрелю прогнозируют чуть ли не 3% всего. Плюс люди все-таки ждут снижения, глядя на ту же Британию.

Нет-нет, мы пока жилье покупать не собираемся, страшно как-то в это непредсказуемое время в долги лезть, но вот один мой коллега подумывает по этому поводу. И посматривает на Gosford, это такой городок на севере Сиднея, час езды на машине от того места, где мы живем. На вопрос, отчего так далеко, отвечает, что, вроде бы, вовсе и не далеко вовсе, а что час – так он и сейчас с Бондая час до работы добирается, а Бондай – это вам не Госфорд какой-нибудь, Бондай – это злачное туристическое место, самый что ни на есть Сидней.
А в Госфорде зато, вроде как, красиво, тихо, да и город, а не деревня какая-нибудь, как Вой-Вой. Ну и дешевле существенно.

Словом, стало интересно, вот мы и решили наведаться в этот Госфорд.

Торговый центр

В центре действительно чем-то напоминает нормальный европейский городишко, разве что французские флаги не висят на каждом столбе и петухи эти желтые. А так – весьма даже понравилось, действительно, чисто, спокойно, даже магазины все закрыты, как в старой доброй европе. Или, может быть, спокойно потому, что магазины закрыты.
Кстати, за все время пребывания в Госфорде нам встретился всего один китаец. Да и тот был больше похож на казаха. Нетипично для Сиднея ;)

Пристанционный парк

Город зеленый (хотя и Сидней тоже зеленый очень), находится на берегу залива, потому воздух тоже чистый. Короче, нормальное место для жилья,  одобряю :)
Хотя как по мне – далековато, я ж никогда на Бондае не жил. Да, приходилось в Питере добираться около часа на работу, ну так я и не могу сказать, чтобы мне это нравилось. А к тому же час – это на машине, когда нет пробок. А когда есть – я не берусь сказать, сколько, а там еще автобан ремонтируют. Поезд же идет 1:30-1:40, и это только поезд, а еще не известно, сколько тебе от дома до поезда топать придется. А топать наверняка придется – ведь если жить в Госфорде, то жить нужно где-нибудь с видом на побережье и наверняка в доме, благо тамошние цены вполне позволяют.

В общем, с моей точки зрения вопрос сложный… На работу-то я каждый день езжу, а на природу – только по выходным. Чисто логически если рассудить, выгоднее пару раз в неделю тратить полтора часа на “добраться до природы”, чем каждый день на “добраться до работы”. С другой стороны – это если детей нет. Еще с другой стороны – если и есть, то при 8 часов работы + 3 часа дороги, когда на них смотреть?
Ну и по финансам тоже. Если взять для круглого счета среднюю заплату программиста на уровне $50 в час, то в день чисто на дорогу “профукивается” $150. Ну хорошо, налоги там еще из этой суммы вычесть.. С другой стороны – в это время можно книжку почитать, тогда оно не будет совсем уж потеряным. Еще с другой стороны – а кто мне не дает сейчас книжку читать…
В общем, одни вопросы :) А коллега собрался в скором времени на “разведку боем”.

Полуляв по Госфорду, и даже найдя открытое заведение на предмет перекусить, мы отправились дальше в местечко с забавным названием The Entrance. Это не далеко, полчасика всего, и опять на север. Куда этот Entrance – непонятно, но вот то, что в Госфорде ели зря – это точно.

Сытые и довольные пеликаны.

Пеликаны

Во-первых мы пропустили кормление пеликанов. Судя по стоящему в воздухе запаху рыбы и все еще сидящей на берегу толпе пеликанов, опоздали совсем чуть-чуть. А во-вторых, The Entrance оказался местом, судя по всему, туристическим (опять чем-то напомнило испанские курортные городишки, с которых почему-то поснимали все флаги) и еды там было навалом. Итальянская, японская кухни, восточные кебабы, морепродукты и т.д. смотрели на меня со всех сторон, а вот я смотреть на них уже не мог, ибо отобедал чем Госфорд послал, да еще и “заполировал” сушками, взятыми из дома.

Улица Ведущая К Морю

А купающиеся в фонтане дети даже удивили как-то. Во-первых, лето еще не началось. Прохладно. А во-вторых – море же рядом вон какое замечательное! Нет, в фонтане купаются…

Площадь

По поводу купания – это мне еще предстоит тут освоить. Говорят, что тепло купаться в Сиднее не бывает никогда (что пока полностью совпадает с моими выводами о том, что “в австралии тепло” – это либо миф, либо вам в Дарвин), но я все же надеюсь, что хотя бы немного поприятнее в этом отношении еще станет…

Tags: ,

Powered by BlogEngine.NET 1.6.0.0

About the author

Alexey Raga Alexey Raga
.NET software developer.

E-mail me Send mail

Twitter


Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in