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

SAM Linux 2007

Представлен новый релиз GNU/Linux-дистрибутива, основанного на системе PCLinuxOS и представляющего собой как «живой» (LiveCD), так и установочный CD с ОС для компьютеров с устаревшим аппаратным обеспечением, — SAM Linux 2007.

Едут...

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

Изменим Font


Просто установите следующий шрифт:
new Font(Font.SANS_SERIF, Font.BOLD, 50).deriveFont(Collections.singletonMap(TextAttribute.FOREGROUND, new GradientPaint(0, 0, Color.YELLOW, 10, 10, Color.BLUE, true)));
Суть в том, что задаем механизму заливки сложных областей GradientPaint, который возвращает цвет текущей точки относительно начальной.

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

Sun Tech Days

C 11 по 13 апреля в Ленэкспо Sun Microsystems проводит конференцию Sun Tech Days, посвященную нашим технологиям?
В Петербург эта конференция приехала впервые, и ее подготовкой занимается наш сайт. А именно, команда University and Community Relations, а так же некоторые другие.
К нам приедет Джефф Джексон, вице-президент, главный по Солярису в Сан, и наш давний друг. Мы ждем в гости Йорга Шиллинга - создателя первого OpenSolaris дистрибутива shillix, и весьма известного человека в Unix сообществе. Наши друзья и коллеги по SPBDC представят производимые нами продукты, проведут мастер-классы по Solaris, расскажут о последних новинках в Java SE и ME. Будет еще много интересного.

среда, 21 марта 2007 г.

Temple of the Sun

Вот как надо рекламировать Sun. Жаль только что не на Java...

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

Java.net blog post

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

Комиксы Бидструпа

В детстве просто учитывался (усматривался будет более правильным). У бабушки две книги тех времен сохранились.

понедельник, 19 марта 2007 г.

Резюме

Вот какие надо писать резюме.

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

DecorettO

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

Крупными цветами, растущими из-за тумбочки, можно подчеркнуть изголовье кровати:

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

Использовать можно только цветки (без стеблей), причем время от времени легко можно переклеивать жучков с лепестка на лепесток:

Ну а в детской мы завели толпу котят в корзинке, играющих с бабочками:

С точки зрения дизайна такая картинка ничего не подчеркивает, зато повышает настроение.

Java Puzzle 26: In the Loop

int max = Integer.MAX_VALUE;
int count = 0;
for (int i = max - 100; i <= max; i++)
count++;

Чему будет равно count после выполнения программы?
Если вы думаете, что 100, то вы не заметили необычного для цикла for условия ('<=' вместо '<'), которое увеличивает количество итераций на 1.
Если вы думаете, что 101, то вы не учли в все значения типа int меньше или равны Integer.MAX_VALUE и цикл будет выполняться вечно.
Где бы вы не использовали целочисленные типы не забывайте про граничные значения. Помните, что о переполнении в арифметических выражениях никак не сообщается.

Java Puzzle 25: Inclement Increment

int i = 0;
i = i++;

В Java результат равен 0, а в C - 1.
Авторы возвращают нас к Puzzle 7 и опять советуют не присваивать значение одной и той же переменной несколько раз в одном выражении.

среда, 14 марта 2007 г.

Head Over Heels

Помните ли вы ZX Spectrum? А игрушку Head Over Heels? Нашел тут, что ее портировали. И вообще, забавный сайт, на котором портируют старые и добрые игры. Будет время - скачаю и посмотрю. Интересно же!

Зеркало

Заказали высокое зеркало шириной с раковину.
Рисовали сами, а заказали в Гуров и К. На днях повесил:

В левом верхнем углу будет лампа,
когда куплю втулку подлиннее и переключатель:

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

Словарь идиом

Прикольный русско-английский словарь идиом с забавными картинками...

Советские суши

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

понедельник, 12 марта 2007 г.

Клипы Metallica

На выходные ездили в MediaMarkt. Видел DVD группы Metallica со всеми клипами за 999 рублей. Они, конечно, у меня скачаны практически все, однако качеством не блещут. Надо сделать кому-нибудь подарок, а самому оцифровать их в хорошем качестве и положить в коллекцию.

среда, 7 марта 2007 г.

Amorphis


Недавно был куплен альбом Eclipse (2006). Очень понравился, хотя после Am Universum (2001) я на них крест поставил. Сегодня притащил на работу Elegy (1996) и слушал их друг за другом. Очень похожи. Надо будет попробовать прослушать Tales From The Thousand Lakes (1994). Думаю, что Eclipse тоже может получить статус Internet Top Ten Album.

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

Примеры Java кода

Нашел сайт с примерами Java кода. Полезен будет, в основном, для новичков, но местами встречаются весьма полезные примеры использования различных техник, в Swing например...

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 минут. Правда на КАДе пришлось остановиться, чтобы долить стеклоомывателя. Пока стояли пролетающие фуры заляпали левый бок, заднее стекло и меня (естественно) толстым слоем грязи. Видели как посыпают солью КАД. Едут пара машин и разбрасывают куски соли размером с килограммовую пачку соли. Мы сначала попрыгали на этих кусках и быстро-быстро по крайней правой полосе обогнали их, получив пару ударов в бочину.