понедельник, 25 августа 2008 г.

мой возраст = второе совершенное и одновременно треугольное число

вот как то так уже два дня как ;-)

вторник, 19 августа 2008 г.

Смеяться надо уметь.

Бывает так что смех не только продлевает жизнь, но и укорачивает жизнь тех кто вокруг!

Problem 45

SELECT k
FROM (SELECT n * (n + 1) / 2 k
FROM (SELECT     LEVEL + 285 n
FROM DUAL
CONNECT BY LEVEL < 100000))
WHERE k > 40755
INTERSECT
SELECT k
FROM (SELECT n * (3 * n - 1) / 2 k
FROM (SELECT     LEVEL + 165 n
FROM DUAL
CONNECT BY LEVEL < 100000))
WHERE k > 40755
INTERSECT
SELECT k
FROM (SELECT n * (2 * n - 1) k
FROM (SELECT     LEVEL + 143 n
FROM DUAL
CONNECT BY LEVEL < 100000))
WHERE k > 40755

Project Euler: Level up

Bravo, xxxxxxx! Now that you have solved 25 problems you have achieved what 77.71% of members have failed to do and have advanced to level 1. Good luck as you continue.

суббота, 16 августа 2008 г.

Oracle и connect by level

Сегодня столкнулся с интересным поведением connect by level на Oracle 9 и 10XE


SQL> SELECT BANNER FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
PL/SQL Release 9.2.0.8.0 - Production
CORE 9.2.0.8.0 Production
TNS for 32-bit Windows: Version 9.2.0.8.0 - Production
NLSRTL Version 9.2.0.8.0 - Production

SQL> SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 10;

LEVEL
----------
1

SQL> SELECT COUNT(LEVEL) FROM DUAL CONNECT BY LEVEL < 10;

COUNT(LEVEL)
------------
9

SQL> SELECT MAX(LEVEL) FROM DUAL CONNECT BY LEVEL < 10;

MAX(LEVEL)
----------
9

SQL> SELECT *
2 FROM (
3 SELECT LEVEL FROM DUAL CONNECT BY LEVEL <10
4 );

LEVEL
----------
1
2
3
4
5
6
7
8
9

9 rows selected.

SQL> explain plan for select * from (select level from dual connect by level<10);

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | |
| 1 | VIEW | | | | |
| 2 | CONNECT BY WITHOUT FILTERING| | | | |
| 3 | TABLE ACCESS FULL | DUAL | | | |
-----------------------------------------------------------------------------

Note: rule based optimization

11 rows selected.



Продолжаем эксперимент на 10XE.

SQL> SELECT BANNER FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 10;

LEVEL
----------
1
2
3
4
5
6
7
8
9

9 rows selected.

SQL> SELECT COUNT(LEVEL) FROM DUAL CONNECT BY LEVEL < 10;

COUNT(LEVEL)
------------
9

SQL> SELECT MAX(LEVEL) FROM DUAL CONNECT BY LEVEL < 10;

MAX(LEVEL)
----------
9

SQL> SELECT * FROM (SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 10);

LEVEL
----------
1
2
3
4
5
6
7
8
9

9 rows selected.

SQL> explain plan for select level from dual connect by level < 10;

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 1236776825

-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | CONNECT BY WITHOUT FILTERING| | | | |
| 2 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
-----------------------------------------------------------------------------

9 rows selected.


четверг, 14 августа 2008 г.

KDE не мое!

поставил на подвернувшийся, навернувшийся сервачок Kubuntu 8.04.
поковырялся, поплевался и установил Ubuntu Server.

понедельник, 11 августа 2008 г.

Съездил домой!

Домой выбираюсь не часто, но всегда с пользой, чего нидь починю, по прикручиваю. Вот и на этот раз провел время с пользой: подырявил стены новоприобритенной дрелькой и поприкручивал полезных висюлек в ванной. И маме радость и мне тренировка.

Подавить грузинскую агрессию!

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

суббота, 9 августа 2008 г.

Project Euler

Двадцатка (~10% из всех) задач решена!
Очень интересная забава для послеобеденного развлечения, ну или полуночного ;-))

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

Problem 97: Оставил на ночь комп (бедняга) расчитывать 28433* 27830457+1

Загадки животного мира

Интересно, хватит ли отваги европейскому пуделю покусать грузинского мопса???

пятница, 1 августа 2008 г.

Солнечное затмение

Похоже погодка нам не предоставит возможность насладится солнечным затмением. Все небо застлано облачками, так что придется через iнет следить.
Обещают транслировать тут, тут и здесь.
Но чувствуются что смотреть придется в записи, событие пропиарили по полной программе, а вот справятся ли сервера с нагрузкой я сомневаюсь!

На заметку Потребителям

Разнообразие товаров уже настолько большое что становится тяжеловато ориентироваться в марках. Если приходится часто покупать что либо, то навыки выбора конечно же достаточно развиты. Под некторыми нашими брендами выпускается достаточно качественная продукция, но в целом они подвержены мимикрии. Что бы хоть как-то избежать попадания на их удочку нужно изучать ореал их обитания и виды мимкрии ;-)

Список российских (псевдоиностранных) марок, ну и в догонку "К вопросу о "Настоящих немецких брендах"