вторник, 6 марта 2007 г.

2 things about Unix

UNIX is user-friendly. It's just selective about who its friends are.

There are two major products to come out of Berkeley: LSD and BSD. We don't believe this to be a coincidence.

Java Puzzle 24: A Big Delight in Every Byte

for (byte b = Byte.MIN_VALUE; byte < Byte.MAX_VALUE; b++)
if (b == 0x99) System.out.println("Found!");

Byte имеет значения от -128 до +127, а 0x90 = +144. Таким образом, в цикле напечатано ничего не будет. Проблема в том, что при сравнении типов byte преобразуется в int. Решить эту проблему можно так:
(b == (byte)0x99)
или вот так:
((b & 0xFF) == 0x99)
Авторы рекомендуют вынести все "магические" числа в константы:
private static final byte TARGET = 0x99;
Только тут вы сразу увидите, что такой код не скомпилируется. Придется явно указывать приведение типа:
private static final byte TARGET = (byte)0x99;

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

Java Puzzle 23: No Pain, No Gain

StringBuffer word = null;
switch (new Random().nextInt(2)) {
case 1: word = new StringBuffer('P');
case 2: word = new StringBuffer('G');
default: word = new StringBuffer('M');
word.append('a').append('i').append('n');
System.out.println(word);

Первая ошибка - использование малознакомого API. Значение никогда не будет равно 2. Авторы рекомендуют внимательно читать описание API перед использованием. Таким образом, вы никогда не получите "Gain".
Вторая ошибка - отсутствие операторов break в каждой ветке оператора switch. В результате word всегда будет равен new StringBuffer('M') и "Pain" вы тоже не получите.
И наконец, "Main" тоже не будет напечатан, так как нет конструктора, принимающего char. В этом случае параметр незаметно приводится к типу int и определяет первоначальный размер внутреннего массива.

Реакция есть?

Говорят, что американские военные пилоты могут это делать больше 2 минут. Брешут наверное...

MotoCross 2

Забавный и совершенно ненапрягающий мотокросс.

пятница, 2 марта 2007 г.

Унитаз-перевертыш

Для научных целей разработали унитаз-перевертыш. Чтобы обосновать его создание придумали целый комплес - судно-перевертыш. ;)

Gmail для POP3 серверов

Теперь Gmail может проверять почту на других почтовых серверах. Разрешено использовать до пяти разных учетных записей.

четверг, 1 марта 2007 г.

КАД

В выходные поехали в Максидом на Гражданском, а потом к Рустему. Поехали по КАДу. На севере какая-то проблема со съездами. Хотели съехать на Шафировскую, а на съезде кучи хлама, которые к среде вроде бы убрали. Пришлось ехать до съезда в Мурино, а там нет съезда в город. Пришлось ехать туда и разворачиваться на узкой трассе, где постоянно снуют машины. Там промахнулись мимо Гражданского, так как в самом начале он похож на какую-то простую улицу.
Купили торшер в Максидоме, погостили у Рустика и поехали снова на КАД к Шафировской развязке, так как въезд в нашу сторону работал. Однако при пересечении Индустриального выяснилось, что для того, чтобы ехать прямо на КАД надо повернуть направо, а если едешь прямо, то тебя забрасывает на мост, который уходит вправо на Ин. Естественно, мы узнали об этом после того, как промахнулись мимо КАД. Пришлось ехать через Большевиков и Володарский мост.
У торшера оказалось битое стекло. Звоню в Максидом - говорят приезжайте и разбирайтесь с администратором. Приезжаю - мне говорят, что вы не проверили товар до оплаты, значит сами и разбили, а мы мол менять не будем. Зато сказали телефон поставщика и артикул товара.
Позвонил поставщику - говорят: приезжайте к нам в жо^H^Hофис на 2-ом верхнем проезде в промзоне Парнас, тут можно прикупить недостающие детали. Оседлали КАД в среду и доехали минут за 50-55. Но так долго только потому, что заблудились и пол Парнаса объехали кругом, а кроме того тот проезд так раздолбан цементовозами, что выбоины и горки размером с наш Матиз мы преодолевали на скорости 1 км/ч причем нас по встречке лихо обгоняли подпрыгивающие цементовозы. Было страшно...
Обратно долетели за 45 минут. Правда на КАДе пришлось остановиться, чтобы долить стеклоомывателя. Пока стояли пролетающие фуры заляпали левый бок, заднее стекло и меня (естественно) толстым слоем грязи. Видели как посыпают солью КАД. Едут пара машин и разбрасывают куски соли размером с килограммовую пачку соли. Мы сначала попрыгали на этих кусках и быстро-быстро по крайней правой полосе обогнали их, получив пару ударов в бочину.

четверг, 22 февраля 2007 г.

С наступающим...

...праздником!

5 глаголов

решить
послать
сходить
купить
выпить

Metallica

Тут пишут, что 18-го июля старики выступят в Лужниках. Билеты еще не продаются, хотя в Хельсинки они будут выступать за 54...69 евро с носа.
Надо подумать об отпуске ;)

вторник, 20 февраля 2007 г.

Puyo Puyo

Простая логическая игрушка на 10 уровней.
Puyo Puyo

PegBall

В дедстве у меня была такая игрушка в натуральном виде.
PegBall

Air Hockey

Забавная игрушка - шайбу гонять.
Air Hockey

понедельник, 19 февраля 2007 г.

Детские рисунки

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

среда, 14 февраля 2007 г.

Выдержка из статьи

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

вторник, 13 февраля 2007 г.

Ice Slide

Симпатичный закос под пингвина. Можно кидать не только пингвина, но также нерпу или моржа. Морж - перспективный чувак. С нескольких попыток удалось забросить его на 390 метров.

пятница, 9 февраля 2007 г.

Java Puzzle 22: Dupe of URL

Что делает следующий код:
System.out.println("Use the following link:");
http://java.sun.com
System.exit( -1 );

Как ни странно - он скомпилируется! Прикол в том, что ссылка является корректным Java-кодом. До двоеточия - это метка следующего за ней оператора, а после дву слэшей - комментарий.
Урок такой: пишите комментарии внимательно!

четверг, 8 февраля 2007 г.

Java Puzzle 21: What's My Class, Take 2

Решили узнать имя файла, в котором хранится ваш класс? Можете получить совсем не то, что ожидаете, если будете использовать конструкцию типа: BlahBlahBlah.class.getName().replaceAll("\\.", File.separator) + ".class"
Причина опять в том, что метод replaceAll реализован на регулярных выражениях и вторым параметром он ожидает не просто строку, а replacement string, которая описана в спецификации regex. Вот правильный код: BlahBlahBlah.class.getName().replaceAll("\\.", Matcher.quoteReplacement(File.separator)) + ".class"
Будьте осторожны, когда используете незнакомую библиотеку. Ведь можно написать проще: BlahBlahBlah.class.getName().replace('.', File.separatorChar) + ".class"

среда, 7 февраля 2007 г.

Flash Element TD

Забавная и очень заразная игра в стиле Tower Defense.
Народ даже ролики на YouTube выкладывает.

Рим - вечный город

Леонид "lleo" Каганов предлагает записывать телефонный номер римскими цифрами, чтобы в Excel он не воспринимался как формула. А это - идея! Можно ее подать под видом борьбы с арабским терроризмом и возвращением к католичеству, центр которого в Риме.

Гражданство

Теперь не вкладыш дают, а сразу в свидетельство гражданство ставят.

Российская газета пишет:
В целях снятия излишних административных процедур при подтверждении наличия у детей российского гражданства, 3 ноября 2006 года были внесены изменения в положение о порядке рассмотрения вопросов гражданства РФ, вступающие в силу с 6 февраля 2007 года, которые позволят удостоверять наличие гражданства РФ у большинства детей как самим свидетельством о рождении, так и соответствующей отметкой на свидетельстве, проставляемой при устном обращении родителя в день обращения.

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

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

Теперь, блин, в ментовку тащиться...

Java Puzzle 20: What's My Class

Решили узнать имя файла, в котором хранится ваш класс? Можете получить совсем не то, что ожидаете, если будете использовать конструкцию типа: BlahBlahBlah.class.getName().replaceAll(".", "/") + ".class"
Причина в том, что метод replaceAll реализован на регулярных выражениях и он, следовательно, заменит все символы (а не только точки) на слэши.

Java Puzzle 19: Classy Fire

В этом месте приводится пример закомментированного с помощью /* и */ кода, который содержит код со строкой "+-*/!=". Естественно комментарий обрывается и код не компилится. Любой редактор правильно подсвечивает комментарии и найти эту ошибку не составляет труда, но эта головоломка, видимо, служит для проверки наблюдательности при решении на бумаге.

GCompris

Хороший комплект программ для детей - GCompris. Жаль только, что качать много...

Обман зрения

А не черепа ли тут нарисованы?

пятница, 2 февраля 2007 г.

четверг, 1 февраля 2007 г.

Чебурашка

... на японском. Смотреть тут.

среда, 31 января 2007 г.

воскресенье, 28 января 2007 г.

CoD 2 & HoMaM V

Установил себе на лаптоп Heroes of Might and Magic V. Дико дергается картинка. Невозможно играть.
Установил Call of Duty 2. Вообще не запускается: не поддерживаются, видите ли, динамические текстуры.
Пора апгрейдится?

Удаляем мусор

Хорошая программа тут. Поможет почистить диск. Хотя форматирование еще никто не отменял ;-)

Мужское здоровье

Народ стал спамить смешными ответами доктора на идиотские вопросы пациентов. Нашел тут оригинальный форум. Местами смешно...

суббота, 27 января 2007 г.

Авангард DSL

Подключился на 256К. Работает вроде...
Пишу из дома сейчас.

пятница, 26 января 2007 г.

Java Puzzle 18: String Cheese

byte[] array = new byte[256];
for ( int i = 0; i < array.length; i++ )
array[i] = (byte)i;

String str = new String(array);
for ( int i = 0; i < str.length(); i++ )
System.out.println( (int)str.charAt( i ) );

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

Java Puzzle 17: Huh?

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

Математические этюды

Забавно

четверг, 25 января 2007 г.

Java Puzzle 16: Line Printer

What does the following code print? Is its behavior platform dependent?
// Note: \u000A is line feed
System.out.print(\u000A);

Все та же проблема с Unicode-символами. Это не скомпилируется, так как первый \u000A разобъет комментарий на две части. Если же комментарий убрать, то все равно не скомпилируется, так как нет метода print() без параметров. Вывод: старайтесь вообще не использовать Unicode-символы.

Java Puzzle 15: Hello Whirled

Is it a valid comment?
// generated from F:\Root\app\units\my.idl

Это не скомпилируется из-за проблем с Unicode-символом \units, который является неправильным. Тут авторы дают совет, чтобы все Unicode-символы оформлялись правильно, даже если они находятся в комментарии. Рекомендуют аккуратно использовать \ и, как следствие, не копировать файловые имена Windows в код с помощью автоматических средств.

Остров

Посмотрел фильм Павла Лунгина "Остров". Сильный фильм. На мой взгляд только один просчет - слабый саундтрек, но и так этот фильм очень цепляет. Смотрел неотрываясь. Все остальное - 5 баллов, а подбор актеров - 5+. Мамонов клево сыграл, но и остальные не подкачали. Рекомендую!

Колонки

Наконец-то перевез от Паши колонки. Впервые за два года послушал качественный звук. Приятно. Решил посмотреть фильм.

Наушники для улицы

Тут народ вовсю обсуждает, какие наушники использовать на улице, чтобы шумов слышно не было. Koss the Plug или Sennheiser PX200 (или даже PXC250 с активной системой подавления шума).
Я считаю, что все это чушь. Так как если не будешь слышать ничего, то в неприятность попасть - запросто. Например, под машину...

Java Puzzle 14: Escape Rout

Что будет напечатано:
System.out.print("a\u0022.length()+\u0022b".length());

Java не выполняет никакой специальной обработки Unicode-символов в строке. При компиляции \u0022 преобразуется в ". И в результате напечатает 2. Если же автор хочет вставит двойную кавычку в строку, то он должен использовать не Unicode-символы, а escape последовательности (типа \"). И не используйте Unicode-символы для ASCII символов во избежание путаницы.

Java Puzzle 13: Animal Farm

Что напечатает следующий код:
String pig = "A2";
String dog = "A" + pig.length();
System.out.println("Animals are equal: " + pig == dog);

В этом разделе обсуждается несколько проблем:
1. Отсутствие скобок.
Поэтому выполнение сложения строк происходит до их сравнения.
2. Интернированные строки.
Любые объекты должны сравниваться не по ==, а с помощью метода equals(). При грамотно реализованном методе equals() затраты на его вызов будут минимальные.

вторник, 23 января 2007 г.

10 негритят

Десять негритят отправились обедать,
Один поперхнулся, их осталось девять.

Девять негритят, поев, клевали носом,
Один не смог проснуться, их осталось восемь.

Восемь негритят в Девон ушли потом,
Один не возвратился, остались всемером.

Семь негритят дрова рубили вместе,
Зарубил один себя — и осталось шесть их.

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

Пять негритят судейство учинили,
Засудили одного, осталось их четыре.

Четыре негритенка пошли купаться в море,
Один попался на приманку, их осталось трое.

Трое негритят в зверинце оказались,
Одного схватил медведь, и вдвоем остались.

Двое негритят легли на солнцепеке,
Один сгорел — и вот один, несчастный, одинокий.

Последний негритенок поглядел устало,
Он пошел, повесился, и никого не стало…

Телефон - радио

Не писал об этом еще?
Рассказывал тут на работе, как во время ремонта к телефонным розеткам подвели кабель от радиосети. Телефон сначала просто висит, потом звонить начинает. Видимо частоты совпали. Снимаешь трубку - он бубнит. Пашка - свидетель. Это он высказал идею, что ремонтники могли радио подключить. Я бы не догадался, так как бубнил телефон очень неразборчиво...

Арройо

Вычитал, что по испански это значит пересохшее русло реки. Вполне понятно, почему так деревня в FallOut 2 называлась. Вспомните мост через это русло...

Ручкой в руку

Смотрел фильм Nikita (1990) Люка Бессона. Обратил внимание на момент, когда героиня хватает со стола ручку и втыкает ее полицейскому в руку. Вспомнил аналогичный момент в фильме DeadMan (1995) Джима Джарамуша, когда Джонни Депп втыкает перьевую ручку миссионеру. Задумался, кто у кого стырил идею. Залез на IMDB и уточнил года. Выходит, что эта идея Люка Бессона? Никто не видел ее раньше?

Виадук на Стачек

Интересно, когда построили виадук на Стачек возле метро Автово? Мне тут сказали, что лет 5 назад чел там ездил и стоял, пропуская поезд. У меня же такое чувство, что ему лет двадцать. По крайней мере, я его помню, когда из общаги на толпу ездили. Или же я его путаю с мостом на Жукова, рядом с Казакова...

Кирилл прошелся по Европе

Был на выходных в Таллинне. Слушал радио. В Пярну наводнение. Скоро до нас Кирилл дойдет?

четверг, 18 января 2007 г.

Java Puzzle 12: ABC

String letters = "ABC";
char[] numbers[] = {'1', '2', '3'};
System.out.print(letters + " easy as " + numbers);
Что будет напечатано?

А если попробовать так:
String letters = "ABC";
char[] numbers = {'1', '2', '3'};
System.out.print(letters);
System.out.print(" easy as ");
System.out.print(numbers);
то будет ожидаемый результат:
ABC easy as 123

А с небольшим изменением:
String letters = "ABC";
Object numbers = {'1', '2', '3'};
System.out.print(letters);
System.out.print(" easy as ");
System.out.print(numbers);
результат опять будет неправильным.

Дело в том, что при конкатенации строк используется метод toString(). А массив символов, как и любой другой массив, не переопределяет этот метод. В то же время, класс PrintStream определяет метод print(char[]), который корректно выводит символы в поток. Однако, в третьем случае вызывается метод print(Object), который несмотря на то, что аргумент - массив символов, вызывает у него метод toString().
Для преобразования массива символов к строке авторы рекомендуют использовать метод String.valueOf(char[]).

Java Puzzle 11: The Last Laugh

Рассмотрим следущие выражения:
System.out.print("H" + 'a');
System.out.print('H' + 'a');

Результат первого: "Ha", а второго - 169. Причем тип второго выражения int. Вывод: оператор + выполняет конкатенацию строк только если один из операндов является строкой.

English

Сегодня узнал, что американцы подразумевают вежливый отказ, говоря:
I'll think about it.

среда, 17 января 2007 г.

Java Puzzle 10: Tweedledee

Напишите декларации переменных x и i так, чтобы следующий оператор компилился:
x = x + i;
а следующий оператор - нет:
x += i;

Тут тоже проблема в том, что составной оператор присваивания автоматически приводит тип выражения справа к типу переменной слева.
Object x = "X";
String i = "I";
Cледующий оператор компилится:
x = x + i; // создается новая строка
а следующий оператор - нет:
x += i; // нельзя сложить два объекта

Java Puzzle 9: Tweedledum

Напишите декларации переменных x и i так, чтобы следующий оператор компилился:
x += i;
а следующий оператор - нет:
x = x + i;

Многие думают, что проблема с классом String, а на самом деле проблема в том, что составной оператор присваивания автоматически приводит тип выражения справа к типу переменной слева.
short x = 0;
int i = 123456;
Cледующий оператор компилился:
x += i; // скрытое приведение типов
а следующий оператор - нет:
x = x + i; // ошибка: possible lost of precision
Короче, если не хотите неожиданных проблем - не используйте составные операторы присваивания для типов byte, short или char.

Язык D

Забавный язык народ придумал ;-)

Java Puzzle 8: Dos Equis

Рассмотрим следующий пример:
char x = 'X';
System.out.print( true ? x : 0 );
int i = 0;
System.out.print( true ? x : i );
Что будет напечатано в обоих случаях?

Почему в первом случае будет напечатано X, а во втором - 88? Читайте Java Language Specification 15.25
Ссылаясь на Puzzle 5, авторы рекомендуют не смешивать разные типы при вычислении. Нужно быть уверенным, что для второго и третьего операнда условного оператора используются значения одного типа.

Java Puzzle 7: Swap Meat

Тут рассказывается про технику обмена значениями без введения новой переменной.
x = 1984;
y = 2001;
x ^= y^= x ^= y;
Каков же будет результат?
x = 0;
y = 1984;
Проблема в том, что приведенное выше сокращение работает не так, как следующие операторы:
x ^= y;
y ^= x;
x ^= y;
Это происходит из-за того, что операнды операторов вычисляются слева направо. Если вы хотите записать в одну строку - расставьте правильно скобки:
y = ( x ^= ( y ^= x ) ) ^ y;
И вообще, я рекомендую всегда использовать скобки и не полагаться на приоритет операндов.
Авторы советуют никогда не присваивать значение одной и той же переменной несколько раз в одном выражении. И рекомендуют избегать умных программерских трюков...

Преферанс

На выходных играли в преф по рублю за вист. Проиграл 156 рублей. Как давно я не брал в руки карт!!!

вторник, 16 января 2007 г.

Java Puzzle 6: Multicast

Что напечатает следующий оператор:
System.out.println((int) (char) (byte) -1)?
Ответ 65535 (для наглядности 0x0000FFFF)
Знаковое расширение происходит только тогда, когда тип значения был знаковый. В данном случае расширения знакового разряда не выполняется.
Умный совет дают авторы: если вы не можете с первого взгляда сказать, что делает некая программа, то возможно она делает совсем не то, что вы от нее хотите.
Короче, пишите проще.

Java Puzzle 5: The Joy of Hex

Чему равно 0x100000000L + 0xCAFEBABE?
Прикол в том, что второе число типа int и расширяется знаковым разрядом до следующего long: 0x0000000100000000L + 0xFFFFFFFFCAFEBABEL = 0x00000000CAFEBABE.
Чему равно 0x100000000L + 0xCAFEBABEL?
В результате получим ожидаемое 0x00000001CAFEBABE.
Авторы дают совет избегать вычислений с аргументами разных типов.

Футураметр

Результат теста «На кого из героев „Футурамы“ ты похож»:


Проф.

Лила

Гермес

Бендер

Зойдберг

Фрай

Эми

Киф

Зепп
14-1340733

Если Вы желаете узнать больше о своем характере и о характере героев «Футурамы», то прочитайте статью «Псих-о-рама».

Пройти тест.

Еще один проект Google

Не все, что от Google - бесплатно: SketchUp

Java Puzzle 4: It's Elementary

Тут авторы советуют всегда использовать заглавную букву L для long-литералов: 5432L вместо 5432l, которое похоже на 54321. Я давно пишу заглавные буквы в long- и float-литералах, а также в шестнадцатиричной записи: 0xABCD вместо 0xabcd.
Так же они рекомендуют избегать однобуквенного идентификатора l, который легко спутать с единицей. Это правило меня не касается, так как я всегда предпочитаю использовать длинные названия, содержащие какой-либо смысл. Однобуквенные идентификаторы, которые я использую: x, y, z для координат и i, j, k... для счетчиков циклов.

Java Puzzle 3: Long Division

Когда работаете с большими числами, ищите переполнение. Приведенный пример показывает, что часто это случается с умножением и делением чисел, а также с неявным преобразованием:
public class LongDivision {
final long MICROS_PER_DAY = 24 * 60 * 60 * 1000;
final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
public static void main(String[] args) {
System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);
}
}

Человек на Луне?

Какие доказательства?

понедельник, 15 января 2007 г.

Наводнение

А здесь можно посмотреть фотки наводнения, которое произошло этой зимой. Больше все мне понравилась циничная надпись "С Новым Годом!" и фотография чмжика-пыжика под водой...

пятница, 12 января 2007 г.

Java Puzzle 2: Time for a Change

Оказывается, 2.00 - 1.10 не равно 0.90.
Не рекомендуется использовать float и double для расчетов чего-нибудь важного. Надо использовать BigDecimal(String), но ни в коем случае не использовать BigDecimal(double).
Кроме того, тут рекомендуют использовать форматтеры для вывода чисел.

Java Puzzle 1: Oddity

boolean isOdd( int i ) {
return i % 2 == 1;
}
Тут описывается проблема остатка от деления (оператор %).
Выражение ( i % 2 == 1 ) не работает для отрицательных чисел, так как там остаток от деления равен -1. Рекомендуют использовать выражение ( i % 2 != 0 ).

Java Puzzlers

Взял в Сановской библиотеке эту книжку почитать.
На английском, правда...

javadoc - codavaj

Забавный проект.
Позволяет сгенерировать java-код по ранее сгенерированному javadoc.

Камни


среда, 10 января 2007 г.

Задачка

Для собеседования у нас придумали задачку: реализовать XOR через AND, OR и NOT. В связи с тем, что я подзабыл булеву алгебру, я решал ее минут 10, включая составление проверочной таблицы.
Для наглядности предлагается использовать блоки с двумя входами и одним выходом для AND и OR, или один вход и один выход для NOT. У меня получилось 4 блока.
А вам слабо?

понедельник, 1 января 2007 г.

понедельник, 11 декабря 2006 г.

Google переводит

Переводчик Гугля отжигает:
Sergey Malenkov -> Сергей Маленков
Peter Norton -> Евгений Касперский
(English to Russian BETA)

четверг, 7 декабря 2006 г.

Hard Rock Cafe

Hard Rock Cafe продали индейцам-семинолам, единственному американскому племени индейцев, которое никогда не подписывало мирный договор с США.

четверг, 30 ноября 2006 г.

Кровать 200х180 см

На новой кровати легко умещаемся втроем:

Огромное спасибо Пашке и Мишке за сборку:

понедельник, 27 ноября 2006 г.

Google довоевался

Теперь он предлагает замены слова в случае опечатки. Например, довоевался...

воскресенье, 26 ноября 2006 г.

Баннизмы рулят



А я думал, что только в команду Swing принято подбирать народ по данной характеристике ;)

четверг, 23 ноября 2006 г.

Пролетарская

Открыли, наконец, эту станцию метро после ремонта. Теперь до Рыбацкого ехать на одну остановку дальше...

Вспомнилось

Когда мы с Рустиком ехали в Москву за машиной, то сидели и обсуждали всякое: говорили про Сан, про наш питерский сайт, про команду Swing...
И тут с верхней полки свешивается парень, раздетый до трусов, и спрашивает, не учавствуем ли мы в питерском сайте свингеров. Сначала мы растерялись, а потом объяснили ему, что он нас не за тех принял, и сказали, чтобы отстал...
А вторым нашим соседом по купе был алкаш, который стырил у меня простынь и вырубился. Пришлось так ехать, так как проводница не выдала новый комплект.

Danse le Noir

Забавный ресторан открывают в Москве.

воскресенье, 19 ноября 2006 г.

Лем пишет

"Ученый Код изящно врет" (С).
Во многих рассказах (из последних прочитанных - Ананке) намекает, что не нужно полностью доверять компьютерам. Ведь программы для них пишут люди!

Холодильник

Продаются только левые холодильники. В смысле, для левшей. Они все открываются правой рукой, чтобы шариться там левой. Большинству приходится дверь перевешивать. Блин!

Lib.ru закрывается?

Качал несколько месяцев назад Гарии Гаррисона. Вдруг все пропало. Фигня, думаю...
Скачал половину произведений Станислава Лема. Прочитал пытаюсь открыть тут - переадресация. И Лема закрыли! Нашел зеркало тут.

Отдыхаем

понедельник, 13 ноября 2006 г.

Жаков в городе

Слава в гости заезжал. Пообщались...
Мне сложно перестать называть его на Вы, так как будучи его студентом привык. Хоть и пили на брудершафт - не помогает. Оговариваюсь часто.
Обещает раз в полгода появляться, так как у них в Питере отделение открылось. GenesisLabs теперь подразделение Alcatel. (2Стас: ваш конкурент).
Рассказывал, как клево в Калифорнии. Если поеду на JavaOne, заеду к нему в гости. У него Шевроле Тахо - наш Матиз ему в багажник легко войдет ;-)

четверг, 2 ноября 2006 г.

Learning English

Первый урок, английский для начинающих:
Three witches watch three swatch watches. Which witch watches which swatch watch?

Второй урок, английский для продвинутых учеников:
Three switched witches watch three Swatch watch switches. Which switched witch watches which Swatch watch switch?

Урок третий, он же последний:
Three swiss witch-bitches, which wished to be switched swiss witch-bitches, watch three swiss Swatch watch switches. Which swiss witch-bitch, which wishes to be a switched swiss witch-bitch, wishes to watch which swiss Swatch watch switch?

среда, 1 ноября 2006 г.

Поехали!

Лента.РУ сообщает, что я смогу ездить по европе без виз. Было бы неплохо...

Java.NET blog post

Таки написал очередную статью...
Пишите комментарии!

понедельник, 23 октября 2006 г.

Москва - Питер

На выходных перегоняли Матиз в Питер. Очень неудачный выезд с A107 на E105. На Ленинградке постоянный поток машин. Еле пробились.
Потом спустило заднее колесо. Как его ни чинили - не помогло. Слишком загрузили жучка - под завязку. Поменяли запаску и поехали дальше.
Сначала машин было много, но не так мрачно, когда дачники едут. Потом стемнело и машины стали попадаться редко. В основном, обгоняли грузовики. Попался один урод на автоперевозчике - чуть не зажал нас в автобус стоящий на остановке где-то в городе Клин.
Ехать в темноте хорошо, так как ничего не отвлекает. Однако в некоторых местах отсутствует разметка (возле Новгорода и через Тосно), что очень напрягает, так как по светящейся разметке легче определять полосноть. Большую часть дороги - три полосы. Центральная время от времени меняется, чтобы дать возможность обогнать кого-нибудь.
Особый статус у объездной вокруг Новгорода. Сплошные дырки. Кусками снятый асфальт. Никакой разметки. При обгоне мы слетели на встречку, которая оказалась сантиметров на 15 ниже нашей полосы. Пошкрябали днищем немного. В конце этой разбитой дороги стоит памятник. Чему? Тому транспорту, который сможет нормально ехать по этой дороге. Что там стоит? Конечно же танк!
При въезде в Питер промахнулись мимо въезда на КАД. Иначе не проехать, так как остальные мосты разведены. Сделали нехилый разворот в несколько километров и пошли на второй заход. По КАДу прозевали съезд на набережную, поэтому съехали у IKEA. На кольцевой я понял - нас обокрали! Две полосы для объезной - фигня полная. Нихрена проспект Славы разгружен не будет! Да и по РОКСу обычно с утра говорят о пробках на Вантовом мосту...
Выехали в 17:00. Приехали в 4 утра. Сделали 770 километров (получается средняя скорость 70 км/ч). Залили в дороге 55 литров, хотя потратили (на глазок) литров 40-45.
Большое спасибо Рустему, который так и забил на свой блог.
ЗЫ. Разгружать - задолбался. Мешок картошки, мешок яблок, пару тяжеленных коробок, варочная панель, четыре покрышки и по-мелочи несколько ходок с пакетами делал. А говорят, что Матиз маленький, хотя там сзади еще и детское кресло болталось...

четверг, 19 октября 2006 г.

Максидом

Теперь это супермаркет бытовой мелочевки. Строительные товары еще есть, но торговать они ими уже не хотят. Или продавцы в этом виноваты.
Сегодня хотел поспрашивать их про разные ламинаты: что они порекомендуют, как класть и т.д. Мне было сказано: выбирайте, какой понравится. Типа, все ламинаты одинаковы, что ли?!!!
Потом посмотрел на цены и понял, что там отстой продается. Ни одной нормальной марки. Видимо после покупки такого ламината народ и катит на него бочку. Там не ламинат, а одна бумага продается...

Докатился

Недалеко от работу увидел рекламный плакат. На нем фотография Баскова и надпись: "Золотой Граммофон". А вроде раньше был "Золотой голос России". Или это они на фонограмму намекают?

cernunnos

Помнится, что в STARе у нас был такой сервер. Вчера можно было бы отпразновать...

пятница, 6 октября 2006 г.

Немного о LORDI

Сразу после победы LORDI на Евровидении 2006 комиссары фонда Гиннеса зафиксировали новый мировой рекорд в номинации "самое большое количество народа, поющее песню под караоке". Новый рекорд обеспечило 80000 человек, хором орущих слова песни "Hard Rock Hallelujah" на улицах Хельсинки. Мероприятие было организовано компанией Karaoke Service Finland.

Helloween

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

Чувашия

Ездили в Чебоксары к моим родителям. Вот в каком поезде шикарный люкс! Помимо всего прочего там есть телевизор, по которому показывали Sleepers (по пути туда) и шестисерийный Empire (обратно).
В Чувашии, оказывается, есть свое MTV, которое расшифровывается как местное телевидение ;-)
Еще запомнилось название подвальчика, в котором продавали мобильники: Мобильникоф. С одной 'ф'! Ну и мода на чувашские названия. Например, Тутлах - хлебный магазин. Непривычно...
А погода там отстойная. В конце сентября, когда в Питере было +15 и я ходил (да и до сих пор хожу) в легкой джинсовой куртке, там опускалась температура до +5 и мне без свитера было ОЧЕНЬ не по себе.

Комната матери и ребенка

... на Казанском вокзале (также как и на Ленинградском) находится на втором этаже. Туда ведет достаточно длинная и крутая лестница, по которой не каждой матери удастся поднять своего ребенка в коляске и с чемоданами. На Казанском параллельно лестнице есть два эскалатора (видимо на спуск и подьем), но (конечно же!) они никогда не работают.

Так ли это?

Сегодня прочитал что "Компьютерные программы повсеместно признаются объектами именно авторского права и даже отнесены к их конкретному виду - литературным произведениям." (С)
Компьютерра #29 2005

вторник, 3 октября 2006 г.

Google Maps

Для Питера есть улицы. Только поиск по ним - никакой!