Про котов

2 коммент. | добавить комментарий
Прочел на баше.

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

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

Мадрид и Толедо

2 коммент. | добавить комментарий
Ну что сказать – побывал я в Мадриде. Жили мы в хостеле возле метро Anton Martin недалеко от центра – хорошая комната, тихо, все нормально. Однако, по прибытии туда из аэропорта, мы оставили в комнате свои вещи и вышли на улицу, в результате чего сразу попали в самое сердце какой-то демонстрации в поддержку народа Западной Сахары. Было шумно, весело, много людей и флагов. Вся эта процессия, как оказалось позже, двигалась к Plaza Mayor (главной площади Мадрида), чтобы там покричать и разойтись.

From Madrid-Toledo

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

From Madrid-Toledo
From Madrid-Toledo

Сады Кампо-дель-моро, что сзади дворца, тоже красивые. Вообще говоря, парки у них в Мадриде удались. В воскресенье утром мы попали в Parque del Retiro – часть резиденции Габсбургов, и тоже были впечатлены – обилием памятников, фонтанов, и особенно – монументом Альфонса XII на берегу небольшого озера. Еще я слышал, что там есть Хрустальный дворец, но к нему мы не попали, поскольку накануне запланировали поездку в Толедо. Сделали мы так, по большей части, вынужденно, поскольку было очевидно, что Мадрида на весь следующий день нам не хватит.

From Madrid-Toledo

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

From Madrid-Toledo

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

From Madrid-Toledo
From Madrid-Toledo

С этого момента началась ужасная дорога обратно. У нас было времени в обрез до самолета, из-за чего пришлось бежать сломя голову через терминалы, перепрыгивая через людей и их чемоданы. Чтобы вы лучше это представили: регистрация заканчивалась в 19-05, а мы были у стойки в 19-04 :) Ну да ничего, успели.

From Madrid-Toledo

На вокзале в Берлине мы были в час ночи. Поезд на Гамбург отходил в 8. Мы были полны надежд завалиться в какую-нибудь комнату отдыха и там выспаться, но с удивлением обнаружили отсутствие таковых. Это подтвердила и женщина в Deutsche Bahn Info Point. Центральный вокзал в Берлине, конечно, огромный, красивый и хай-тековский с ног до головы, сделан сплошь из стекла и металла, но холодина внутри просто зверская. До двух мы поспали в Макдональдсе, но потом нас оттуда выгнали. Побродив еще, мы нашли закуток у лифтов для выхода на стоянку авто. В закутке было тепло, поэтому мы постелили на пол куртки и так спали до половины пятого утра. Надо сказать, что мы покинули Берлин не на своем, 8-часовом поезде, а на более раннем и дорогом 5-часовом, поскольку ждать еще три часа не было никаких сил. К счастью, контроллер не заметил того, что у нас билеты на другой рейс, поэтому мы без проблем прибыли в Гамбург в 7. Сначала мы поехали в гостиницу, поели, покупались, а потом пришли на работу.

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

Про аутсорсинг

0 коммент. | добавить комментарий
Даешь два поста в день!

Только что прочел интересную статью о пост-советском аутсорсинге вот здесь. Имхо, интересно. К сожалению, ничего из нее скопировать сюда не могу, т.к. автор впилякал в ее конец вот такую вот просьбу:

I am sorry, but I strictly prohibit reproducing anything from this material in any form and any type of media without my personal approval


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

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


Ну как, уважил я автора?

О вокзале в Берлине

0 коммент. | добавить комментарий
А что, видали вы берлинский хауптбанхоф, то бишь центральный вокзал?



А теперь вопрос:

Как вы думаете, каково находиться в такой постройке зимой, прилетев в Берлин в 12 ночи и ожидая своего поезда до 8 утра?


Подсказка: комнаты для отдыха отсутствуют.

Правильный ответ: ОЧЕНЬ, ОЧЕНЬ ХУЁВО!!!

Après moi le déluge

0 коммент. | добавить комментарий
Шарясь по Киевскому серверу, открыл для себя Регину Спектор (Regina Spektor). Слушаю Après Moi. На мой взгляд - нечеловечески здорово :

Как JComboBox всех зарулил

2 коммент. | добавить комментарий
И снова Swing, и снова баг - на этот раз в JComboBox. Состоит в следующем:


JComboBox box = new JComboBox();
box.addItem("x");
box.addItem("x");
box.setSelectedIndex(1);
System.out.println(box.getSelectedIndex())


Этот код напечатает в консоль не 1, как ожидалось, а 0. Баг состоит в том, что метод getSelectedIndex() возвращает индекс первого попавшегося элемента, равного селектированному, причем сравнение выполняется методом equals().

В развернувшейся бурной дискуссии сотрудники Sun пытаются доказать, что данное поведение корректно, поскольку оба элемента x равны. Лично я не согласен: так мог бы вести себя метод getSelectedItem(), но от getSelectedIndex() я бы ожидал возврат выбранного индекса , а не какого-нибудь другого.

Багу #4133743 уже более 10-ти лет. Интересно состояние данного тикета: "11-Closed, Not a Defect, bug". :))

Рома

0 коммент. | добавить комментарий
В прошлые выходные мы с Женей побывали в городе Риме. Самолет наш вылетал в полседьмого утра, в связи с чем в субботу довелось проснуться в четыре. Метро и автобус «Airport-Express», однако, уже ходили, поэтому в аэропорту мы были вовремя. На борту аэробуса-320 компании Airberlin нам пытались продать горячий завтрак за 6 евро, но мы не поддались и гордо жевали бесплатные сендвичи: Женя – с turkey, а я – с cheese. Полет прошел гладко, и уже в девять мы были в аэропорту Fiumicino. Верите – ну никаких приключений в дороге!

От аэропорта к городу Риму идет специальный поезд «Leonardo Express», который за 40 минут довез нас до станции Termini – это Римский вокзал такой. Первым делом нам предстояло найти, где жить, поскольку Интернет в этот раз не сработал. Бронирование номеров в Интернете делается только посредством кредитки. Только один хостел согласился, чтобы мы перевели им деньги через банк, но, придя в Hamburger Sparkasse (сберкассу по-ихнему), мы обнаружили, что сберкасса в Гамбурге наличных денег не принимает – все только через кредитку. А у нас ее нет.

Лирическое отступление: человек без кредитной карточки в Европе – говно.

Однако, нам почти сразу повезло. Второй же посещенный нами отель согласился поселить нас в одной комнате с раздельными кроватями и совмещенным санузлом за 60 евро, что оказалось дешевле всех Интернетовых предложений. Так что, не заходя в комнату (мол, не готова), мы отправились прямиком на осмотр достопримечательностей.

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



Погуляв по баням и пофотографировав, мы двинулись дальше. Надо сказать, что планирование нашей поездки я полностью доверил Жене – когда человек сильно увлечен, у него, обычно, получается лучше. Поэтому Женя имел длинный список мест, которые нам необходимо было посетить. Сверившись по карте, мы двинулись по заданному плану, но уже спустя несколько минут все пошло наперекор ему. Например, в одном из сохранившихся помещений тех же бань есть базилика (церковь по-нашему). Мы заглянули в нее просто так, ради интереса. И вы знаете, эта задрипанная римская базилика у вокзала была раза в два больше нашего Успенского собора! Итальянцы – очень набожный народ, поэтому базилик здесь много, и мне было с чем сравнивать. Базилика возле вокзала – таки-да задрипанная, и таки-да в два раза больше Успенского. Такие дела…

Например, базилика St. Maria Maggiore еще больше. А о соборе св.Петра я вообще пока молчу, но дойду и до него.

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



За фонтаном находится церковь S.Maria in Trivio, зданию которой без малого две тысячи лет. Очень, знаете, трепетные ощущения возникают, когда прикасаешься к столь древним и все еще прочным стенам, пережившим древний Рим, его падение, длинную череду различных эпох, правителей, зим, лет…

В городе Риме есть много обелисков. Во основном, они попадали туда после того, как древние римляне привозили их из Египта в результате какой-нибудь войны. На многих еще сохранились египетские письмена. Кроме того, на всех без исключения обелисках, включая и те, что с египетскими письменами, Святой церковью водружены кресты. А-ля «здесь был папа».



Возле Villa Borghese мы осуществили подъем на холм, чтобы полюбоваться видом на город Рим и Ватикан:



Еще надо сказать, что было очень жарко. Я купил поллитровую бутылочку воды в аэропорту, и выпил ее уже часам к 11. Пить хотелось все время, и запасы воды приходилось постоянно пополнять. Посетив Пантеон, пару площадей, и, подойдя к Пьяцца Венеция с Капитолием, мы поняли, что дальше – все. Пообедали мы во флорентийском ресторанчике, я съел равиолли, а Женя – салат и фруктовый салат. Вместе с двумя литровыми бутылками минералки, обед нам обошелся в 42 евро с мелочью, мда. Зато потом, отдохнувшие и подкрепившиеся, мы ринулись в самое, так сказать, античное мясо.

Для осмотра форумов, Палатинского холма и Коллизея можно купить 1 билет на нос за 11 евро, что мы и сделали. Осмотр Древнего Рима мы начали с форума Траяна. Императорских форумов там три, причем один плавно перетекает в другой – Траяна, Августа и Цезаря. Типичный форум включал в себя суд, храм, палату заседаний и т.д. Сейчас от них остались одни развалины – отдельные колонны, камни, и т.д. Палатинский холм – это, то место, откуда начинался древний Рим. На нем находятся дом Августа, сады, и множество развалин:



В древнем городе сохранились три триумфальных арки – Септемия, Константина, и, кажется, того же Августа. Что примечательно, Константин все надписи на них перебил под себя – с приходом христианства в Риме наступил упадок, и не было уже мастеров, могущих построить новые.

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



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

Утром мы позавтракали в кафешке и поехали в Ватикан. Осмотрели площадь, собор (снаружи и внутри), пофоткали.



Это – я внутри собора св.Петра:



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

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

Пожить бы тут только с месяцок :)


Брюссель

2 коммент. | добавить комментарий
Итак, мы с Женей в пятницу поужинали, я выпил безалкогольного пива по случаю моего д.р., и в 20:24 сел в поезд Цюрих – Париж, откуда мне предстояло утром выйти в Брюсселе.

Признаться, покупая билеты, я выбрал купе и успокоился, наивно полагая, что купе – оно в и Германии купе. Ан нет: они бывают двух типов: со sleeper и с couchette, на что я не обратил внимания, а зря. Думаете, sleeper – это то, на чем можно спать? Ха! На самом деле, sleeper – это кресло, которое не раздвигается, и которых в этом купе шесть (!) – по три лицом друг к другу. Размер купе – чуть больше нашего. Захожу – батюшки-светы! В купе уже 5 человек, яблоку упасть негде, короче общий вагон отдыхает. К счастью, трое вышли в Бремене, и остались двое – супружеская пара весьма почтенных лет, причем бабка сразу улеглась на трех креслах напротив. Поняв, что сидя я все равно не усну, я молча уступил оставшиеся три кресла деду, а сам бросил на пол куртку, положил под голову рюкзак и сладко уснул. Да, тверда постелька, но зато чисто – Европа ж, блин!

Со мной вообще всегда случается что-то интересное. Вот, например, глубокой ночью – не то в Дортмунде, не то в Дюссельдорфе – раздался стук в дверь и зашел полицейский. Он объяснил, что в нашем вагоне едет парень из какой-то страны третьего мира, виза которого не позволяет ему ехать во Францию. Поэтому сейчас они едут в участок и будут там составлять police report, что займет около полутора часов. После этого парня привезут назад, и поезд сможет ехать дальше. Я, признаться, не понял – какой смысл возвращать его в поезд, если визы у него все равно нет, но такая забота о нелегале, бесспорно, умиляет. А я все равно тут же уснул и даже не заметил, как поезд тронулся.

В Брюссель поезд пришел точно по расписанию, несмотря на полуторачасовую остановку. Позавтракав в кафе на вокзале (которых там, кстати, довольно много) большим бутербродом, круассаном и кофе, и поняв, что карты Брюсселя достать там в полседьмого утра все равно не удастся, я вышел на улицу. Положившись на русский авось, я потопал по Stalingrad Laan – как оказалось, совершенно правильно.


Сама улица совершенно ничем не примечательна, кроме памятника Розе Люксембург и вот такой вот бабушки, которая не то голубей кормит, не то мелочь из кошелька достает:


Затем, через маленькую площадь с маленькой биржей и маленькой церковью св.Николая, сквозь пару узких улочек, я вышел на главную площадь Брюсселя – Grasmarkt (большая площадь). Надо сказать, что было только 8 утра, поэтому мне никто не мешал обозревать окрестности. На Грасмаркте есть дом пивоваров, дворец герцогов Бургундских, дворец Карла Лотарингского (который сейчас находится на реставрации) и Ратуша:



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


Говорят, каждые два года в августе здесь высаживают ковры из цветов размером во всю площадь. От площади я отправился бродить по центру, где уже начинали появляться отдельные люди, и из некоторых кафешек стали неторопливо выносить наружу столики полусонные официанты. Центр Брюсселя имеет форму пятиугольника и таким образом повторяет форму бывших древних крепостных стен. Дух, безусловно, здесь свой. Улочки узкие, как в Копенгагене, здания – помпезные, как в Париже, но чувства вызывают совершенно другие.



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

От Грасмаркт уходит улочка Этюв, которая ведет к писающему мальчику (Maneken Piss). По легенде, он когда-то спас Брюссель от пожара, за что и был увековечен. У него есть 740 костюмов, которые на него одевают в честь больших праздников, либо в честь приема гостей из других стран. Мне же, как это обычно бывает, повезло, и я застал его в чем мать родила.


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

Еще был я на Королевской площади, видел дворец, королевскую библиотеку и музеи. Рядом с дворцом находится Малый Саблон – улица и парк со скульптурами и растениями. Говорят, где-то там есть еще Большой Саблон, но я его не нашел. Вместо этого, а также в связи с начинающимся дождем, я поехал на метро в Атомиум, о котором сейчас и расскажу.

Атомиум в Брюсселе – это как Эйфелева башня в Париже. Его построили в 20 веке в честь проникновения внутрь атома. Данное сооружение представляет из себя модель атома высотой в 102 метра:


Между шарами ездят лифты. Как сказала сопровождающая нас девушка, они самые быстрые в Европе – скорость 5 м/с (это 18 км/ч). Внутри можно гулять, смотреть на Брюссель сверху, посещать выставочные залы (где я не был) и кушать в ресторане (где я был).

Отведав говяжьего мяса с грибами, картошкой и салатом, я переместился к другой достопримечательности, находящейся неподалеку – парку «Мини-Европа». Открытый недавно по случаю какой-то годовщины Евросоюза, он содержит миниатюрные копии знаменитых зданий всех его стран (Нотр-Дам, Биг-Бен – ну вы поняли). Возле каждой страны есть табличка с информацией и кнопочка, нажав на которую, можно прослушать гимн этой страны. По парку можно перемещаться по специальным дорожкам – вроде как от страны к стране. Например, вот та самая центральная площадь Брюсселя:


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

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

Поезжайте в Брюссель! Мне понравилось. Город очень красивый, очень европейский, очень спокойный и очень разнообразный.

Только вот эти поезда City Night Line - просто жесть!

Разрешить нельзя запретить

0 коммент. | добавить комментарий
На сайте http://neoutils.ru (и какого меня туда понесло?) наткнулся на замечательную программу NeoAutorun. Софтина позволяет контролировать список автоматически загружаемых программ, но это неважно - я ее не видел, и не хочу. Меня впечатлил чекбокс на скриншоте:



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

pnuts drives me crazy

0 коммент. | добавить комментарий
Пишу на pnuts. pnuts - это скриптовый язык, мы активно его используем.

Короче, объявляю класс. Когда я для какого-то из его полей объявляю cеттер, а впоследствии вызываю его, то чудный пи-натсовый интерпретатор вываливается со StackOverflowError:

java.lang.StackOverflowError
at java.lang.String.indexOf(Unknown Source)
at java.lang.ClassLoader.checkName(Unknown Source)
at java.lang.ClassLoader.findLoadedClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at pnuts.lang.Runtime.setBeanProperty(Runtime.java:3066)
at pnuts.lang.JavaBeansConfiguration.setBeanProperty(JavaBeansConfiguration.java:154)
at pnuts.lang.JavaBeansConfiguration.putField(JavaBeansConfiguration.java:136)
at pnuts.lang.Java2Configuration.putField(Java2Configuration.java:101)
at pnuts.lang.Runtime.putField(Runtime.java:547)
at _pnuts_$2.exec(Unknown Source)
at pnuts.lang.PnutsFunction.exec(PnutsFunction.java:294)
at pnuts.lang.PnutsFunction.call(PnutsFunction.java:232)
at SamePOI.setDistance(Unknown Source)
at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at pnuts.lang.Runtime.setBeanProperty(Runtime.java:3066)
at pnuts.lang.JavaBeansConfiguration.setBeanProperty(JavaBeansConfiguration.java:154)
at pnuts.lang.JavaBeansConfiguration.putField(JavaBeansConfiguration.java:136)
at pnuts.lang.Java2Configuration.putField(Java2Configuration.java:101)
at pnuts.lang.Runtime.putField(Runtime.java:547)
at _pnuts_$2.exec(Unknown Source)
... и т.д.


А если присваивать полю значение непосредственно снаружи, то все работает!

Сеттер имеет вполне типичный вид:

void setDistance(int d) {
this.distance = d
}


В чем проблема - ума не приложу! И с геттером, кстати, та же фигня :(

UPD 18:12 А вот еще что раздражает: длинные заголовки методов класса можно разбивать только так:

void myMethod(int param1, String
param2, bool param3)


Т.е. перевод строки можно ставить ТОЛЬКО между типом и параметром. Так работать не будет:

void myMethod(int param1,
String param2, bool param3)


Я специально взял отсюда и расковырял грамматику языка, чтобы убедиться, что так оно и есть:

TypedParamList = "(" ( ")" | TypedParam ("," TypedParam )* ")" ) ;
TypedParam = Param | ClassName Param ;
Param = Eol IDENTIFIER Eol ;

Т.е., если указываем ClassName, то Eol может следовать только сразу после него, либо (что еще страннее), ПЕРЕД запятой. Но не после. Т.е. так тоже будет работать:

void myMethod(int param1
,String param2, bool param3)


Вот так и проходит рабочее время))

Гамбург - 01

0 коммент. | добавить комментарий
Уже неделю работаю я в Гамбурге на благо компании Харман/Бекер. Приятно все-таки приезжать в компанию в третий раз: за это время несколько человек сами подошли ко мне с подходом «а я тебя уже видел, ты откуда, и т.д.» Так что число моих шапочных знакомых все время растет.

Один из них – Мартин (это тот, который босиком ходит), не перестает удивлять меня своими странностями. В пятницу поймал меня за пуговицу в коридоре и начал рассказывать о том, какой он трудоголик, как трудно ему различать «рабочее» и «личное», и какой он молодец, что может говорить об этом открыто. На нем висит значок «I am not normal», что, безусловно, чистая правда. Третьего дня, например, слышал от него историю, как он обновил какую-то навигационную таблицу, записал ее в навигатор своего автомобиля и поехал к родственникам, и как оно все плохо работало, и длительность поездки предсказывало с ошибками, и не туда его заворачивало, и пр…
Другой из них – Stefan - кстати, скоро станет нашим главным контактом с немецкой стороной. Питер наконец-то созрел для того, чтобы выделить человека, для которого работа с нами будет основным занятием, а не «между прочим», как это происходит сейчас. Штефан, как сказал Питер, тысячу лет работал на проекте БМВ, и сейчас ему срочно нужно сменить род занятий, чтобы не загнуться от тоски. Жду хорошего. Поживем – увидим, как оно будет.
Здание нашей работы находится над одним из многочисленных каналов, и, если выйти во двор, то с него есть спуск на понтонный причал, где отдыхают уточки.



В четверг играли с Питером в Го. О многом поговорили. Кроме Питера, я сыграл партию в Го с одним новичком (разумеется, обыграв его). Интересен род его деятельности: он проверяет, насколько плотно закручены болты в самолете, перед его взлетом. В его распоряжении 5 болтов – за остальные отвечают другие. И так – от рейса к рейсу – 5 болтов. Впечатляет занятие!
В Го-клубе много разговоров было о чемпионате Европы по футболу, проходящем сейчас. В тот вечер играла Германия, и Питер все хотел, чтобы они проиграли, и это сумасшествие на улицах закончилось. Каждый день в 20:45 начинается очередной матч – и до этого времени важно успеть поужинать, т.к. все кафе и рестораны, где есть телевизор, заполняются толпами оголтелых болельщиков. Турки, кстати, коих здесь великое множество, ох сильные болельщики – от сигналов их машин я в пятницу вечером почти оглох, пока шел под мостом возле станции Berliner-Tor. А за Россию, которая вчера играла, соотечественники болели, в основном, по кабакам – почти из каждого доносились крики на родном языке, когда я возвращался домой из бассейна. В метро на электронных табло, где пишут, сколько времени осталось до прибытия следующего поезда, вечером выводят счет текущего матча. Короче говоря, народ болеет.

В эти дни в Гамбурге проходит еще одно мероприятие – т.н. Harley Davidson Days. Со всей Европы сюда съехались десятки тысяч волосатых байкеров на своих мотоциклах, чтобы как следует напиться и покрасоваться. Их парад был вчера в районе St.Pauli, но я не пошел – посмотрел фотографии с прошлогоднего события и, признаться, побоялся, что затопчут. В центре, однако, их тоже было много, народ их фотографировал, и т.д. Как по мне – мотоциклы как мотоциклы, хотя я тоже не удержался и сделал пару фотографий для истории.


Вместо байков я вчера сфокусировался на местах, где еще не был в прошлые разы – Altstadt (старый город) и Hafencity (гавань). В последней я был, но в этот раз я зашел с другой стороны (с какой? Не знаю, как объяснить – со стороны Altstadt :)) Центральная старая часть города непохожа на нашу. Гамбург – город портовый, и сооружения там, преимущественно, квадратные и утилитарные, построенные для портовых контор и первых офисов. Основная особенность – красный кирпич, из которого в том районе построено без исключения все.

А, вот еще новость: я купил билеты в Брюссель! В пятницу, день своего рождения, после работы я сяду на поезд и чухну в Бельгию. Посмотрю на здания Евросоюза, писающих мальчика и девочку (да, есть и такая), поем бельгийского шоколаду да вафель, и вечером поеду обратно. Поезда в этот раз без пересадок – надеюсь, что дорога не будет такой утомительной, как была, к примеру, из Копенгагена в прошлом году. Туда-обратно – 110 евро – это вместе со скидкой, которую мне сделали как молодому, не достигшему 25 лет. Женю все равно наверняка потянет в Рим (дался ему этот Рим, блин!) – ну а я себе в Бельгию ))

Кстати о Жене – он прилетает в понедельник, но Тобик (наш ПМ) отказался его встречать. Поэтому ехать в аэропорт придется Михаэлю, который вообще к организационным вопросам никаким боком не относится (отвечает только за один из наших продуктов), да и машины у него нет. Так что, поскольку он мне симпатичен, я поеду вместе с ним, чтобы его поддержать. Интересно другое – меня Тобик встретил, т.к. я его contact person. А Женю, который работает над другим продуктом, он уже встречать не хочет, т.к., мол, «не его человек», и нечего на него тратить деньги на бензин. Смотрю я на этих немцев, и нарадоваться не могу их бесконечной бережливости!

Вот, вкратце, такие дела. О чем еще сказать? Ну, не знаю, меня, как всегда, много жизнеполагающих вопросов волнует. Например, вот елочка:

Так вот: горшочек у этой елочки просто разбился, или это такая художественная задумка?..

Еще один баг от Swing

0 коммент. | добавить комментарий
Только что еще один Свинговый баг побороли. На одной из ~10 машин, где работает наша программа, запуск диалога выбора файлов JFileChooser занимает примерно полминуты (ну о-о-очень долго, если честно). Кроме того, переход в любую папку также отбирает несколько секунд. Windows XP SP2 стоит, последние обновления, все дела... А на других машинах - все хорошо.

После непродолжительного копания, наткнулся на описание Java-Sun bug #5050516. Оказывается, на некоторых системах такое поведение вызывается поддержкой Windows Compressed Folders. После того, как отключили ее командой

regsvr32 /u %windir%\system32\zipfldr.dll,

все заработало быстро и правильно.

Багу больше 4х лет. В jdk 1.6 он еще живет. Вроде, исправили в седьмом, но я не проверял))

О стандартах на коды стран (оч.кратко)

0 коммент. | добавить комментарий
По работе столкнулся с проблемой кодов стран (сокращенных названий вроде RU, UA и т.д). Какая же это непростая проблема оказывается!

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

А, во! Еще у стандартов этих есть разные толкования - особенно у ISO-3. Сидим сейчас и гадаем, какой код у Румынии - ROL, ROM или ROU :)

Гамбург, та-дамс!!!

0 коммент. | добавить комментарий
Снова наслаждаюсь давно забытым ощущением: два перелета позади, вещи разобраны, и вот уютный номер гостиницы Schaper безраздельно мой - правда, на этот раз не на Klosterallee, а на Oberstrasse, но так даже лучше... Номер явно больше, кладовая имеет вид отдельной комнаты (а не отдельного шкафа), кухня-ванная, шоколадка на подушке от заботливой хаусмайстерши, безлимитный интернет, ну и так - по мелочи.

На картиночке ниже - облака между Одессой и Будапештом. Ближе к Будапешту))



По традиции, рассказываю о том, что меня больше всего удивило в полете. Из Будапешта в Гамбург я летел рядом с необъятным немецким дядькой - о нем и речь. В какой-то момент я краем глаза заметил, что он ковыряется большим пальцем во рту. Все бы ничего - но когда он его вытащил, то оказалось, что палец этот имеет длинный желтый ноготь длиной около сантиметра... брррр.... А еще потом он достал vomit pack, и стал в него харкать. Пакетик этот он поставил на свободное место между им и мной, и периодически изливал в него лишнюю жидкость из своего носоглоточного пространства. А сам, между прочим, в костюме и галстуке - прям-таки интеллигент. Такая вот прелесть :))

Погода холодная, но ясная. Градусов 15.

Анекдот

0 коммент. | добавить комментарий
Идет экзамен по физике. Профессор вызывает первого студента и задает вопрос:
- Что быстрее: скорость света или скорость звука?
Студент:
- Скорость света.
- А почему? Обоснуйте свой ответ.
- Ну, я когда радио включаю сначала лампочка загорается, а потом звук появляется.
- Два. Придете на пересдачу.
Заходит следующий.
Ему задается тот же вопрос:
- Что быстрее: скорость света или скорость звука?
Студент:
- Скорость звука.
- А почему? Обоснуйте свой ответ.
- Ну, я когда телевизор включаю, сначала звук появляется, а потом изображение.
- Два. Придете на пересдачу.
Заходит следующий.
После таких ответов профессор решил упростить свой вопрос:
- Вот представьте: стоите вы на берегу реки, а на другом стреляет пушка. Что будет раньше? Вы услышите звук выстрела или увидите вспышку?
- Конечно, увижу вспышку.
Профессор (обрадовавшись) спрашивает:
- А почему? Обоснуйте свой ответ.
- А у меня ведь глаза находятся ближе к пушке, чем уши.

Тест по русскому на RB.RU (оч.легкий)

0 коммент. | добавить комментарий
Я проверил свои знания русского языка и получил пятерку.



Сходи, проверься?

Ни единого разрыва!

3 коммент. | добавить комментарий
Ни единого разрыва! (слушать обязательно)
Фотожабы

Текст разговора:

— Техническая поддержка «Стрима», инженер 656, Дмитрий, здравствуйте.
— Договор оформлен на Уральского, телефон 766-16-69, у меня к вам следующий вопрос. А вот скажите мне пожалуйста, что, когда теперь заканчивается сессия, что, теперь, это теперь будут разрывы при моем тарифе, да?
— Э… В смысле? Сессия заканчивается…
— В смысле! Вот мне Максим, оператор ваш, коллега, сказал, что у вас закончилась сессия, соответственно, у вас был разрыв. Вообще бред, полный.
— Э… Сессия рвется один раз в 24 часа.
— Понятно. Скажите мне пожалуйста, вот когда я вот подключился, в прошлом году, в ноябре месяце, и до 26 апреля сего года не было ни единого разрыва, хотя у вас сессии должны были завершаться, и я не отключался, чем это было вызвано?
— Это значит, что Вы просто, скорее всего, не замечали, что у вас обрыв происходит…
— Да дело в том, что не было, действительно, в тот… на самом деле не было разрывов, когда я был в интернете.
— Раз в 24 часа сессия гарантированно рвется…
— Я вам говорю, что я человек нормальный, с памятью у меня абсолютно все нормально, не было э-то-го. Не-бы-ло.
— В договоре…
— Я поэтому… Стоп. Я поэтому вас и выбрал, что вы безукоризненно работаете, без всяких разрывов, и что же теперь, я буду страдать из-за ваших «сэссий»? Что, каждый день, что, 24 часа в сутки я должен, э… подключаться вновь, что ли, к интернету? Что-то я не слышал такие правила, вообще, когда я оформлял документы. Такого не было!
— Такое было всегда. Раз в 24 часа сессия рвется…
— Извините меня! Извините меня! Я когда, в ноябре прошлого года, до 26 ноября сего года, не было ни-е-ди-но-го разрыва, еще раз я вам говорю. Или я… Или вы не, или вам надо по-китайски сказать как-то? Ни единого разрыва не было!
— Раз в сутки сессия рвется…
— Я вам говорю еще раз, повторяю вопрос, вы не отвечаете на мой вопрос, ответьте на мой вопрос кон-крет-но! Не было ни единого разрыва, с ноября прошлого года, до 26 апреля сего года!
— Э… в чем вопрос состоит?
— Ответьте на мой вопрос конкретно, и я тогда успокоюсь. Не мотайте мои нервы! Ответьте на мой вопрос кон-крет-но! Понимаете русский язык??? Я вас слушаю ваш ответ!
— Вы вопрос задайте сначала, я на него отвечу.
— Я задавал вопрос! Сессия, то что вы говорите, это сейчас не интересует, я говорю, то что до ноября прошлого года… ДА ВЫ ЗНАЕТЕ МОЙ ВОПРОС! До апреля двадцать… э… 2008 года, 26 апреля, НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА! С чем это могло быть вызвано? Я говорю, ни единого разрыва! А сейчас есть разрывы!
— Это могло быть вызвано тем, что у вас, возможно, был модем настроен в режиме роутера, и он сам автоматически переподключался.
— Это как это он может возможность переподключаться?… ПОЧЕМУ ВЫ КЛИЕНТА ДОВОДИТЕ ДО ИССТУПЛЕНИЯ ТАКИХ ЭМОЦИЙ? ПОЧЕМУ ВЫ ДОВОДИТЕ КЛИЕНТА ДО ТАКИХ ИССТУПЛЕНИЙ ЭМОЦИЙ? ПОЧЕМУ ВЫ НЕ МОЖЕТЕ СДЕЛАТЬ ТАК ЧТОБЫ КЛИЕНТ НАСЛАЖДАЛСЯ ФИЛЬМОМ, НАСЛАЖДАЛСЯ ПОЛОЖИТЕЛЬНЫМИ ЭМОЦИЯМИ ВАШЕЙ СТРУКТУРЫ? ПОЧЕМУ ВЫ РЕКЛАМИРУЕТЕ ВСЕ ПОЛОЖИТЕЛЬНОЕ, А ЗДЕСЬ ВЫ ГОВОРИТЕ СОВСЕМ ПО ДРУГОМУ? Я ВНОШУ БОЛЬШУЮ СУММУ В БАЛАНС, ЧТОБЫ НЕ БЫЛО ВООБЩЕ РАЗРЫВА ДО СЛЕДУЮЩЕЙ СЕССИИ, КОГДА У МЕНЯ СЧИТЫВАЕТСЯ, А ВЫ ГОВОРИТЕ «КАЖДЫЙ ДЕНЬ», «БУДЕТ РАЗРЫВ», В ТЕЧЕНИИ 24 ЧАСОВ! ЭТО ВЫ СЧИТАЕТЕ САМЫЙ ЛУЧШИЙ ЧТО ЛИ ИНТЕРНЕТ ТОГДА? ЭТО МОЙ ВОПРОС К ВАМ!
— Техническая реализация данной услуги предусматривает то, что раз в 24 часа, будет обрыв связи.
— ЭТО ЧТО, КАЖДЫЙ ДЕНЬ ПОДРАЗУМЕВАЕТСЯ?
— Если вас это не устраивает, тогда вы можете отправить жалобу…
— Я ВАМ ГОВОРЮ, ЭТО КАЖДЫЙ ДЕНЬ ПОДРАЗУМЕВАЕТСЯ? КАЖДЫЙ ДЕНЬ РАЗРЫВ СВЯЗИ?
— Раз в 24 часа, да, это каждый день, раз в сутки обрыв связи.
— А ПОЧЕМУ НЕ БЫЛО ТОГДА? Тогда настройте мой модем, 531-B как раньше!
— Обрывы связи были всегда, раз в сутки.
— ТОГДА НЕ БЫЛО РАЗРЫВ СВЯЗИ, ТУПИЦА, НЕ БЫЛО! Я ГОВОРЮ НЕ БЫЛО! А ТЫ ГОВОРИШЬ БЫЛО!
— Были.
— Я ГОВОРЮ НЕ БЫЛО РАЗРЫВОВ СВЯЗИ! С НОЯБРЯ ПРОШЛОГО ГОДА! ДО АПРЕЛЯ… 26 АПРЕЛЯ 2008 ГОДА! СУББОТЫ! А НА СЛЕДУЮЩИЙ ДЕНЬ ЦЕЛЫХ ЧЕТЫРЕ!!! РАЗРЫВА БЫЛО! ПОТОМ ОПЯТЬ ПОВТОРЯЛОСЬ! И СЕЙЧАС ТОЖЕ ОПЯТЬ ПОВТОРИЛОСЬ!
— К сожалению невозможно настроить услугу так, чтобы обрывов раз в сутки не было.
— А ПОЧЕМУ ВЫ НЕ ОТВЕЧАЕТЕ НА МОЙ ВОП… ЗАДАН… ПОСТАВЛЕННЫЙ ВОПРОС??? ТО ЧТО!!! С НОЯБРЯ ПРОШЛОГО!!! ГОДА!!! ДО 2008 ГОДА 26 АПРЕЛЯ!!! НЕ БЫЛО!!! НИ ЕДИНОГО!!! РАЗРЫВА!!! ОТВЕТЬ ТЫ!!! НА МОЙ ВОПРОС!!! ОТВЕЧАЙ!!!
— Обрывы связи у вас были…
— ДА НЕ СМЕШИ ТЫ!!! ДА НЕ СМЕЙСЯ ТЫ!!! ТЫ БЫ!!! БЫЛ БЫ НА МОЕМ БЫ МЕСТЕ БЫ БЛЯДЬ!!! ТЫ БЫ ПОНЯЛ БЫ ТОГДА!!! ОТВЕЧАЙ НА МОЙ ПОСТАВЛЕННЫЙ!!!
— Сессия…
— КОНКРЕТНЫЙ!!! ВОПРОС!!!
— Сессия у вас заканчивается раз в сутки, гарантированно.
— ТОГДА!!! Я БЫ!!! ТЫ ЧТО ТУПОЙ ЧТО ЛИ БЛЯДЬ??? Я В НОЯБРЕ ПОДКЛЮЧЕН БЫЛ ПРОШЛОГО ГОДА! 26 АПРЕЛЯ ЭТОГО ГОДА Я ПОЛУЧИЛ ПЕРВЫЙ РАЗРЫВ! ПОЧЕМУ НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА??? ОТВЕЧАЙ НА МОЙ КОНКРЕТНЫЙ ВОПРОС!!!
— Разрывы были всегда, это значит только то, что вы их просто не замечали. По какой-то причине.
— ДА НЕ БЫЛО НИКАКИХ РАЗРЫВОВ! Я БЫЛ ПОСТОЯННО КАЖДЫЙ ДЕНЬ ВОЗЛЕ КОМПА!!! ТУПИЦА!!!
— Вы не могли быть все 24 часа возле компьютера.
— ТУПИЦА, Я ГОВОРЮ ТО ЧТО БЫЛ! ТЫ ПОНИМАЕШЬ, ЧТО Я ГОВОРЮ??? Я ИЗ-ЗА ТЕБЯ МОГУ ЗДОРОВЬЕ ПОДОРВАТЬ, ГОЛОС МОГУ СОРВАТЬ!!!
— Смените, пожалуйста, тон общения, иначе нам придется…
— ЭТО ТЫ СМЕНИ УВАЖИТЕЛЬНОСТЬ ОБЩЕНИЯ С КЛИЕНТОМ, ПОНИМАЕШЬ, СУКА??? ОТВЕЧАЙ НА МОЙ ПОСТАВЛЕННЫЙ ВОПРОС!!!
— Я уже ответил на ваш вопрос…
— НЕ ОТВЕТИЛ НА МОЙ ВОПРОС!!! ТЫ УКЛОНЯЕШЬСЯ ОТ ВОПРОСА!!!
— Одну минуту, пожалуйста, подождите. Трубку не кладите.
— Сука, а?… Кошмар какой-то. Сервис тоже мне. Плачу бешенные деньги, а они издеваются надо мной.
— Спасибо за ожидание…
— Да, я слушаю
— Согласно пункту 1.3 Договора Оферты максимальная продолжительность каждой отдельной сессии пользователя услугой составляет 24 часа…
— ДА НЕ ГОВОРИ МНЕ ПО ПОВОДУ ОФЕРТЫ!!!! СТОП, ХВАТИТ!!! Я ВЕРЮ СВОИМ ГЛАЗАМ, Я ВЕРЮ СВОИМ УШАМ!!!!! ПОНИМАЕШЬ????? НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА, ИНАЧЕ Я БЫ ПРОСТО ТАК БЫ НЕ ЗВОНИЛ И НЕ ЭМОЦИОНИРОВАЛ С ВАМИ БЫ ВОТ ТАК ВОТ!!!!!!!
— Я понимаю, если вас не устраивает…
— ТЫ НЕ ПОНИМАЕШЬ!!!!! ТЫ НИ ЧЕРТА НЕ ПОНИМАЕШЬ И ГНЕШЬ СВОЮ ЛИНИЮ!!!! И Я ЭТО ПРЕКРАСНО ПОНИМАЮ ПОЧЕМУ ТЫ ГНЕШЬ СВОЮ ЛИНИЮ!!!!
— Если вас не устраивает обрыв раз в сутки…
— ТЫ НЕ ОТВЕЧАЕШЬ НА МОЙ ОТВЕТ!!!!! ТЫ НЕ ОТВЕЧАЕШЬ НА МОЙ ОТВЕТ!!!!!!
— Я не отвечаю на ваш ответ, да. Как можно ответить на ответ? (смеётся).
— Высшему начальству щас соедини илии… я не знаю как…. кто может быть там старше, выше вас.
— Значит, я могу дать вас номер факса компании….
— У МЕНЯ НЕТ ФАКСА!!!!!
— В таком случае вы можете подъехать в любой их наших офисов и бесплатно написать нам письмо, соответственно, то же самое что вы можете сделать на факс… если факса у вас нет, вы можете написать его в офисе…
— Значит у вас, скажите пожалуйста, значит, что, ЗАКОН ИЗМЕНИЛСЯ С ТЕХ ПОР ПОЛУЧАЕТСЯ???
— Нет, Договор Оферты, он не менялся..
. — А ПОЧЕМУ ТОГДА ВЫ САМИ СЕБЕ ПРОТИВОРЕЧИТЕ, Я ЖЕ ГОВОРЮ КАК САМОЛИЧНЫЙ СВИДЕТЕЛЬ ЧТО НЕ БЫЛО НИКАКОГО РАЗРЫВА (переходит в стон)
— Но вы можете…
— НЕ БЫЛО!!!! Я ВАС НЕ БЕСПОКОИЛ!!! Единственное, что может быть там насчет телевидения, насчет интернета ВСЕ БЫЛО ИДЕАЛЬНО!!! Я ТАК КАЙФОВАЛ, А ВЫ ЩАС КАЙФ МОЙ РАЗРЫВАЕТЕ!!!
— Вы можете отправить эту ценную информацию на официальный…
— ОТВЕТЬТЕ НА МОЙ ВОПРОС!!!!!!!!!!!!!!!!!!! Я ЕЩЕ РАЗ ГОВОРЮ!!!!!!!!!!!!!!!! ОТВЕТЬТЕ НА МОЙ ВОПРОС!!!!!!!!!!!!
— Тогда, возможно, будет рассмотрена возможность технической реализации сессии без обрыва… еси вы хотите… вы можете написать это на факс.
— У меня нет факса, я еще раз говорю, НЕ-ТУ ФАК-СА!! ТУПИЦА!!!
— Ну тогда можете в офисе написать. можете свое недовольство можете написать в письменной форме, и тогда его рассмотрят.
— Как я могу убедиться что так же не будет разрыва? Как я могу убедиться?
— Разрывы будут раз в сутки. Гарантированно.
— А почему тогда не было разрывов? Почему тогда не было разрывов с ноября прошлого года до 26 АПРЕЛЯ 2008 ГОДА???? ЭТО НЕ БЫЛО!!!
— Вы можете сделать официальный запрос..
. — ВЫ НЕ ОТВЕЧАЕТЕ НА ЭТОТ ВОПРОС!!!!! ПОЧЕМУ ЭТОГО НЕ-БЫ-ЛО???
— Почему чего-то не было? Мы не отвечаем на такие вопросы, вы можете сделать официальный запрос…
— Ах вы не отвечаааааете на ваш вопрос, да вы вообще не операторы, да вы вообще, суки, бляди, понимаете, что вы относитесь к клиентам как к свиньям тогда, если вы не можете отвечать на этот вопрос…
— За этой информацией вы можете обратиться в письменной форме к руководству.. пожалуйста, поменяйте тон разговора…
— Так вы свиньи, вы недоумки, вы делаете сервис абсолютно неудобным для клиента, понимаете, но у меня есть адвокат, и я даже буду судиться с вами! Вы у меня еще попляшете!!
— Это ваше право…
— И не надо смеяться вот так вот, ээээррр, эээрррр… про себя, понимаете?
— Это ваше право…
— Это действительно моё право, и я выиграю это дело, тогда, понимаете? тогда вам будет худо, И ВЫ МНЕ БУДЕТЕ ДЕНЕЖКИ ПЛАТИТЬ, А НЕ Я ВАМ, И Я БУДУ КАЙФОВАТЬ ТОГДА. Вы предоставляете сервис чтобы клиент кайфовал, а не чтобы клиент мучался, ПОНИМАЕТЕ, СУКИ???? ВЫ НИ ЧЕРТА НЕ ПОНИМАЕТЕ, ВЫ ТОЛЬКО СЕБЯ ПОНИМАЕТЕ И СЛУШАЕТЕ, ПЕРЕКЛЮЧАЙТЕСЬ И ПЕРЕНАСТРАИВАЙТЕ
— Вы подписали договор, значит вы с ним согласились….

- Техническая поддержка стрима....
- Не надо представлений, договор оформлен на Уральского и соедините меня с инженером высшей категории.
- Вы сейчас со старшим инженером разговариваете, слушаю вас.
- Ээ, значит, мне уверяли нижестоящие чины, я имею в виду операторы ваши, что разрыв связи происходит каждый раз в течении 24 часов, я же опровергаю в том что я был зарегистрирован у вас в ноябре прошлого года до 26 апреля сего года не было ни единого разрыва связи, а 27 апреля в пасху было целых четыре разрыва связи, потом, эээ, сегодня 10 минут минут назад примерно был еще разрыв связи, я был в интернете, а в промежутке с 27 апреля и сегодняшней датой был еще разрыв связи на ADSL 531Б, эээ, кнопка... алло, вы меня слушаете?
- Да.
- ... не горела, сейчас горит.
- подскажите номер ваш
- 7661669, и они мне утверждают...
- нет, просто смотрите, есть такое понятие как обрыв связи, когда обрывается DSL линия, тогда лампочка будет мигать, и да, такой момент что максимальная продолжительность сессии составляет 24 часа. Если она длится 24 часа, соответственно, её принудительно обрывают.
- Тогда я не понимаю логики абсолютно, что с прошлого года...
- А вопрос в чем заключается у вас?
- Вопрос заключается в следующем, с прошлого года ноября месяца, я почему выбрал именно вас сервис...
- Мы не разбираем проблемы которые были когда-то давным давно...
- Нет, это все связано, извините меня, это все связано, все совокупно, я именно выбрал вас сервер, сервис, потому что меня все устраивало, что безразрывно, что все пофигенно, поэтому до 26 апреля с ноября прошлого года не было ни единого разрыва интернета что касается, это было прекрасно, я фактически ээ, может частично беспокоил по "Стрим-ТВ", но это знает только "Стрим-ТВ", а не вы, интернет, и в общем стало происходить обрыв связи с 26 апреля. Мне говорят что там оферты, еще что-то, я говорю, извините, вы что, что-то изменили в структуре что-то внутренней у вас, потому что до этого все работало, и на "Эхо Москвы" говорят, что все работает безукоризненно, я ведь слушаю "Эхо Москвы", и вашего директора тоже слушаю, что они говорят, понимаете? все, алло?
- Да-да
- И вобщем сдесь происходят разрывы, а мне говорят совершенно противоположное, и мне еще подтверждают, что вы знаете, абонент Уральский, каждый день у вас должен теперь быть разрыв происходить, подчеркиваю, ТЕПЕРЬ происходить, каждый день разрыв раз в 24 часа. Я говорю, извините, а почему раньше не происходил разрыв с ноября прошлого года...
- Хорошо, а вопрос-то в чем заключается у вас?
- Да господи ты боже, мне что, распяться вместо Христа? Вот в этом-то вопрос...
- В чем?
- ... и заключается, в том что с ноября прошлого года до 26 апреля НЕ БЫЛО РАЗРЫВА!!! НИ ЕДИНОГО!! И Я ВАС НЕ БЕСПОКОИЛ ПО ЭТОМУ ПОВОДУ!! я щас голос сорву и вы будете оплачивать мне медицинскую страховку... лечение... это бред абсолютно полный... почему вы кайф ломаете, почему вы сервис вот этот такой, я плачу большую сумму на баланс, у меня "Стрим-ТВ"(плача)
- Да, максимальная продолжительность сессии 24 часа, а в чем-то вопрос ваш заключается?
- Да ты что, тоже тупой, или не соображаешь что ли?
- Если вы будете продолжать в таком тоне...
- Вопрос заключается в слудующем, что с ноября прошлого года, слушаешь меня ты внимательно?, до 26 апреля не было ни единого разрыва, это действительно так, я не умею обманывать, и никогда не обманываю!
- Обрывы связи это обрывы связи, а как бы максимальная продолжительность сессии это максимальная продолжительность сессии, это немножко разные вещи. То что у вас связь не обрывается я за вас рад, но по договору...
- Что-то непохоже, что вы за меня рады, НЕПОХОЖЕ, неубедительно! Я этого НЕ ОЩУЩАЮ!! меня интересует связь, а связь с интернетом это как раз все и ваша внутренняя кухня!
- Я так и не понял, вы можете сформулировать в чем вопрос заключается?
- ЧТО С НОЯБРЯ ПРОШЛОГО ГОДА, ТУПИЦА, Я ЕЩЕ РАЗ ПОВТОРЯЮ, С 26 АПРЕЛЯ, СЛУШАЙТЕ ПОЖАЛУЙСТА ВНИМАТЕЛЬНО КЛИЕНТА, до 26 апреля 2008 года не было не единого разрыва связи, я вас не беспокоил по этому поводу, я сейчас все начинает повторятся, а вы, а ты меня сейчас перебиваешь, а ты же мне говоришь слушать меня внимательно, как понимать тогда...
- Я вас предупреждал, что если вы будете продолжать беседу в таком тоне...

Пароле-пароле-пароле

0 коммент. | добавить комментарий
А вы используете матерные слова в качестве паролей?

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

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

- А, может, там был не март?
- Да нет, почему? Мат...

И дикий ржач. Без палива))

Побороли ошибку

0 коммент. | добавить комментарий
Третьего дня одна девушка, работающая в моей команде, поборола ошибку в программе. Ошибка заключалась в следующем: при запуске swing-приложения его окно (разворачиваемое на весь экран) загадочно мерцало где-то полсекунды.

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

А почему дергала, спросите вы? Такие уж это загадочные существа - женщины :)

YourKit

2 коммент. | добавить комментарий
Открыл для себя замечательный профилировщик (он же профайлер) - называется YourKit. Умеет профилировать и CPU, и память, и потоки, и дедлоки... А, во, еще имеет плагин для Eclipse, позволяющий запускать профайлинг прямо оттуда.

Не, я реально в восторге! Только что с его помощью выяснил, почему в одном из наших продуктов не высвобождалась память при закрытии старого документа и открытии нового. Наш обработчик тултипов хранил ссылку на TableColumn, который хранил ссылку на объект SwingPropertyChangeSupport, у которого в списке маус-моушн-лиснеров зачем-то хранилась DefaultTableModel. Из-за этой "лишней" ссылки на данные GC никогда их реально и не прибивал... Ну, блин, Swing!!! А YourKit все сразу показал - и самые большие объекты в памяти, и ссылки на них.

Зараза, к сожалению, платная, но обладает 15-дневным пробным ключом активации. Очень рекомендую попробовать! Ведь как приятно, после дня мучений, увидеть такой замечательный график:

Бинарные форматы документов Microsoft Office 97-2007 открыты!

0 коммент. | добавить комментарий
В прошлую пятницу Microsoft открыла общественности спецификации бинарных форматов для Word, Excel, PowerPoint и Drawing 97-2007.

Брать отсюда: http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx.

А здесь Джоэль дает несколько комментариев и полезных советов к тому, как это все понимать.

Баг в Swing: редактирование ячейки JTable отменяется при ресайзе столбца

0 коммент. | добавить комментарий
Я всегда говорил, что разработка под Swing сродни ходьбе по минному полю - никогда не знаешь, под какой ногой рванет в следующую минуту.

Сегодня (в который раз!) рванула JTable. Я напоролся на баг, который заключается в следующем: если начать ресайзить столбец таблицы в процессе редактирования ее ячейки, то введенный во время редактирования текст исчезает - вместо него возникает предыдущее значение.

Вот так вот. Багу #4330950 уже почти восемь лет.

Интересно было почитать комментарии к нему на сайте Sun:

  • 17 июня 2002 г.: можете пообещать, что это будет исправлено в 1.4.1?
  • 6 августа 2005 г.: это должно быт обязательно исправлено в Java 6!
    26 июня 2007 г.: проблема все еще жива в j2se 1.6.1!


В этот раз workaround нашелся. Там же, по ссылке, в комментах добрые люди советуют, что надо делать. Спасибо им за это!

Русские зайцы настолько суровы...

2 коммент. | добавить комментарий


Японские мультяшки про русских зайцев: здесь.

В ролях:

  • заяц в красном
  • заяц в зеленом
  • зайцы за дверью
  • странный цыпленок
  • жабко
  • и т.д.


Ржал долго. Пыхово у авторов реально тяжелое.

Interbase/Firebird и Windows Vista: друзья навек

19 коммент. | добавить комментарий
Вчера, несмотря на Старый Новый Год, пришлось решать проблему установки одной программы, использующей СУБД Interbase, на Windows Vista Home Basic.

Само по себе, увы, не заработало. Валился локальный протокол доступа Interbase.

Лирическое отступление. Протоколов доступа там два:

  • сетевой - формат адреса типа localhost:c:/db/mydb.gdb
  • локальный - а это, например, просто c:\db\mydb.gdb

Так вот, при попытке доступа к БД по локальному протоколу все время вываливалось unavailable database. В связи с этим излагаю выработанную последовательность шагов, которая позволяет запустить сервер Firebird под Windows Vista с работающим локальным протоколом:

  1. Скачиваем с firebirdsql.org Firebird 2.0.3 (подойдет любая версия старше 2.0.1), устанавливаем:

    • режим сервера - SuperServer
    • запускать как службу
    • НЕ ДОБАВЛЯТЬ аплет в Панель управления - иначе она потом вообще не сможет запуститься, и FB придется сносить

  2. Заходим в папку с Firebird, открываем файл firebird.conf, откомментируем строку с параметром IpcName, заменяем ее на:
    IpcName = Global\FIREBIRD

  3. Здесь придется перезагрузить машину.

После этих танцев с бубном Firebird должен заработать правильно.

The Truth About Game Development

2 коммент. | добавить комментарий

Только что два часа рубился в мега-игрушку (название в теме). Скачать ее можно отсюда.

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

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

По мере продвижения работ мотивация рабов снижается. Увеличить ее можно либо повышая зарплату и соглашаясь на инициативы вроде «поставить кулеры с водой» или «внедрить супер-клевую фичу», либо… убивая этих ленивых козлов-программистов! Страх – лучшая мотивация!

Если убивать их слишком часто, может начаться забастовка, в которой могут принять участие несколько рабов (тогда парочку из них можно убить), либо всеобщая – с которой уже хрен чего сделаешь. По завершении работ нам показывают отзывы геймерских журналов, доход и ROI. Мой рекорд – 1795692%:

Убийственно классная штука!

У этого же автора в блоге есть много других отличных игр (рекомендую Humpster, Bloody, Crayon). Он их пишет по одной в неделю.