Минусы: ужасная клавиша пробела.
Плюсы: слим-формат, не большой ход кнопок, нормальное расположение всех клавиш, копеечная цена )))
sudo -u postgres psql postgres
\password postgres
День программи́ста — профессиональный (и в России теперь официальный) праздник программистов, отмечаемый на 256-й день года (255-й с нуля). Число 256 (28) выбрано потому, что это количество чисел, которое можно выразить с помощью восьмиразрядного байта. Также «256» в шестнадцатеричной системе счисления — это «100» («0x100»). И также это максимальная степень числа 2, которая меньше 365 (дней в году).
В невисокосный год данный праздник выпадает на 13 сентября, a в високосный год на 12 сентября.
Впервые отмечать 256-й день года как профессиональный праздник программистов предложил Валентин Балт, сотрудник веб-студии «Параллельные Технологии». Еще в 2002 году он даже пытался собрать подписи под обращением к правительству РФ в поддержку признания этого дня Официальным праздником.
И, оказывается, стать программистом гораздо легче, чем кажется. Для этого вовсе необязателен компьютер. 10 лет назад свекровь освоила программирование видеомагнитофона, и он послушно пишет телепередачи, когда хозяйка уезжает в отпуск: еженедельные, ежевечерние плюс повторы по утрам, да еще с запасом на рекламу… А одна моя знакомая отлично знает технику программирования окружающих: мужчины, женщины и дети пляшут под ее дудку в полной уверенности, что поступают как хотят. А можно ли назвать величайшим программистом того, кто создал сушу и море, землю, звезды и далее – вплоть до человека? Есть «железо», есть операционная система, драйверы и утилиты и даже вирусы – все как полагается, и уж сколько лет работает под чутким наблюдением…Copyright (с) Татьяна Сальникова (нашел здесь).
Пойду-ка и я запрограммирую остаток этого вечера! Дам задание стиральной машине, нажму пару кнопок на микроволновке, поставлю диск с тихой музыкой и заведу будильник на семь утра. Чтобы не проспать программу следующего дня.
id | user | hashkey
--------------------
1 | sys | 89nf838v
...| ... | ...
В сети встречал статьи с описанием метода хранения паролей в базе данных Oracle. Вот пришло время проверить на практике данные теории. В базе существует таблица user$, в которой хранятся хэши паролей пользователей. Заглянем в нее и выберем из нее хэши тех пользователей, которые нас интересуют. Например, SYS.
Немного теории - алгоритм создания хэша:
//==UserScript==Также в скрипт воткнул авто-переход на страницу мониторинга банкоматов и авто-перезагрузку страницы с периодичностью в три минуты.
//@name UPC OnLine
//@namespace http://userscripts.org/
//@description UPC OnLine AutoRedirect, AutoReload
//@include https://<>/*
//==/UserScript==
mas_orig = new Array(
"1111", // 1
"2222", // 2
// ...
"9999" // 99
);
mas_lang = new Array(
"название и адрес банкомата 1111", // 1
"название и адрес банкомата 2222", // 2
// ...
"название и адрес банкомата 9999" // 99
);
if( /monitor.cfm/.test( location.href ) )
{
window.setTimeout( "window.location.href = window.location.href;", 360000 );
snapResults = document.evaluate( "//a[@class='datalink']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null );
for( i = 0; i < snapResults.snapshotLength; i++ ) {
for( j in mas_orig )
if( mas_orig[ j ] == snapResults.snapshotItem( i ).childNodes[ 0 ].data )
{
snapResults.snapshotItem( i ).childNodes[ 0 ].data = mas_lang[ j ];
}
}
}
}
if( /news.cfm/.test( location.href ) )
{
window.location.href = window.location.href.replace( /news/, "atm/monitor" );
}
0) union (SELECT a.ID, a.accountno, a.description, b.ID baccountid, SUBSTR (b.NAME, 1, 25) baccountsname, b.activepassive_a090 activepassive, c.ID contragentid, c.sname contragentsname, c.nickname contragentnickname, c.contragrankid contragrankid, contragrank.sname contragranksname, a.lockremark, cur.ID currencyid, cur.sname currencysname, a.dateopen, a.datelastmove, a.dateclose, DECODE (SIGN (a.summabegin), -1, -a.summabegin, 0) summabeginactive, DECODE (SIGN (a.summabegin), 1, a.summabegin, 0) summabeginpassive, DECODE (SIGN (a.summanow), -1, -a.summanow, 0) summanowactive, DECODE (SIGN (a.summanow), 1, a.summanow, 0) summanowpassive, a.debet, a.credit, DECODE (SIGN (a.summanowvirtual), -1, -a.summanowvirtual, 0) summanowvirtualactive, DECODE (SIGN (a.summanowvirtual), 1, a.summanowvirtual,0) summanowvirtualpassive, astate.ID accountstateid, astate.sname accountstatesname, a.parentbaccountid, a.accountlimit, a.OPERATOR, a.summabegin,a.summanow, a.accountpassport, ABS (a.summabegin) abssummabegin, ABS (a.summanow) abssummanow, a.isparent, a.activatedate, a.auth_actionid auth_actionid, DECODE (NVL (a.auth_actionid, 0), 1, 'Добавление', 2, 'Изменение', 3, 'Удаление', 'нет' ) auth_action_name, a.approvedby approvedby, a.approveddate approveddate, a.modifiedby modifiedby, a.toboid, tobo.sname tobosname, a.special, a.siteid, a.BeginCloseDate, to_date(null) arcdate, substr(a.accountno, 6) accountcode FROM aaccount a, baccount b, contragent c, contragrank, currency cur, accountstate astate, tobo WHERE a.baccountid = b.ID AND a.contragentid = c.ID AND a.currencyid = cur.ID AND a.accountstateid = astate.ID AND c.contragrankid = contragrank.ID AND tobo.ID = a.toboid AND c.siteid = a.siteid AND tobo.siteid = a.siteid and a.accountstateid != 2