
 |
|
есть относительно безумная идея: заделать паролехранилку на жабаскрипте и бесплатном хостинге.
т.е.: - берется бесплатных хостинг который дает работать с мусклем/пхп - пишется на жабаскрипте алгоритм шифрования - например ГОСТ или DES далее сюжет идёт наворотами: - на сайте есть возможность зарегистрироваться усеру. при этом в мускле на него заводится пара соль + соль зашифрованная его паролем. это секрет для получения данных. - кроме того в мускле лежит пошифрованый сериализованный поток, содержащий всю коллекцию приватной информации усера. пошифрованный его личным ключом (который сайт не знает) - усер после авторизации получает поток, дешифрует его. генерит жабаскриптом документ по обработке. позволяет смотреть/модифицировать данные. по кнопке - шифрует и отправляет назад, на сервак.
плюсы: - пароль хранится только в голове усера - приватная информация доступна всюду где есть браузер с жабаскриптом и интернет (вплоть до коммуникаторов, сотовых и т.п.)
минусы: - надо бы хостинг с SSL - надо доверять хостеру, так как тут безопасность строится на доверии скрипту
вопщем чтото такое выдал мой бедный моск посреди ночи
нопесать | в избранное | рассказать другу | ссылка
ну хоть что-то остаётся неизменным :)
нопесать | в избранное | рассказать другу | ссылка
вот и вышел я за 1 ТБ. и жив...
нопесать | в избранное | рассказать другу | ссылка
http://bonta73.livejournal.com/49378.html
неожиданно - понравилось. нет, правда хорошо - на мой извращенный вкус. и даже эротики на этот раз нет :)
нопесать | в избранное | рассказать другу | ссылка
здесь
ВНИМАНИЕ! ссылка содержит откровенный материал!
зы. очень красиво. и необычно - ТАКИЕ волосы. прелесть.
нопесать | в избранное | рассказать другу | ссылка
здесь. всего одна фотография, но очень хороша.
внимание! ссылка содержит откровенный материал.
нопесать | в избранное | рассказать другу | ссылка
зашел во френдленту, а там - праздник какой-то! люблю хорошую эротику, грешен. мало что может сравниться с красотой женского, а иногда, даже и мужского тела. и не тела тоже. спросите меня - что такое эротика? и я по-прежнему не смогу вам ответить... разве что пальцем показать.
здесь - эротика. очень красивая, на мой вкус. внимание! ссылка содержит весьма откровенный материал!
нопесать | в избранное | рассказать другу | ссылка
 |
|
сегодня будем вкуривать как подружить AIMP2 и DFX. AIMP2 - это аналог winamp, весьма приличного уровня звука/внешнего вида/функционала, и при этом совершенно беспланый. кроме того, его, кажется, ведет русский, что не может не греть мою профессиональную и национальнальную гордость.
DFX - это такая приблуда к винампу, которая позволяет "поправить" звук с целью придания лучшего звучания. плугин, одним словом. аимп умеет грузить плугины от винампа, поэтому как прицепить dfx к аимпу - вопрос отнюдь не праздный. итак, по шагам (считаем что аимп уже стоит):
1. идем на сайт производителя dfx и скачиваем версию под винамп 2. создаем в Program Files каталог winamp с единственным файлом внутри - winamp.exe, создаем там подкаталог plugins 3. ставим dfx, он оказывается в winamp\plugins и еще одной папочке 4. переносим все из winamp\plugins в aimp2\plugins 5. херим \winamp 6. заходим в аимп2, гланое меню, плугины, проверяем что dfx загрузился 7. идем в эквалайзер, тыкаем внизу справа на темное окошко, в списке выбираем dfx
ура! платим бабло производителю dfx, получаем ключ, регистрируемся, настраиваем плугин, кайфуем...
1 нопесал | нопесать | в избранное | рассказать другу | ссылка
http://lenta.ru/news/2008/09/28/svaboda/
пиздец, бля. меня только одно удивляет - хуле на улицах белоруссии плакаты на английском? типа чтобы мощнее хозяину лизнуть? пидарасы.
зы. а ведь в грузии ак же было. заставляет задуматься...
3 нопесали | нопесать | в избранное | рассказать другу | ссылка
очень хорошо, радует уставшие глаза. мои. :) лежит здесь внимание! ссылка содержит весьма откровенный материал.
1 нопесал | нопесать | в избранное | рассказать другу | ссылка
 |
|
итак, ситуация. сегодня был призван на сборы в МО РФ дабы пополнить багаж знаний на случай действий при варианте большого пиздеца. посвятив день родной армии, почувствовал невыносимую тягу к прекрасному, а потому - вернувшись помыл машину и напился пива. так как жажда деятельности сдавать свои позиции еще не желала, приступил к давно откладываемой на потом операции - сбору и сортировке выстираных носков. поскольку носки все а) черные бе) очень похожие и ве) их много - поимел желаие напрячь мозжечок и оптимизировать процесс.
итак, постановка задачи: много сухих, чистых, черных носок примерно одинакового размера, кучей (около 30 пар). пустая поверхность - половина стола. катализатор мысли - пиво "белый медведь". исходя из алгоритма выбирания произвольного носка из кучи и сравнивания его с оставшимися имеем такую картину: на поис пары в среднем требуется перебрать половину оставшихся носков, исходя из равномерного закона распределения случайной величины "этот носок является парой к выбраному" (бля! еще пива, немедленно!)
итак, продолжим. учитывая что прсле нахождения N-пар носков останется 60-2*N штук, считая время сравнения 2х носеов T, получим среднее время поиска очередной пары равное T* ((60-2*N-1)/2). минус один потому что кроме уже найденых носков мы вибираем еще один, к которому ищем пару. получаем что общее время для нахождения пар ко все носкам - сумма 30T + 28T + 26T + .. + T; т.е. сморщив от усилия лоб можно догадаться что это арифметическая прогрессия, которая будет зависеть от квадрата числа своих членов, иными словами, общее время прилизительно - O(N*N).
итак, возникает желание ускорить процесс, которое подогревается осознанием того что задача поиска - родная задача программиста, и можно наделать много чего в процессе, а также количеством катализатора присутствующего в организме.
что мы можем сделать для ускорения поиска? сразу приходящих в голову вариантов два: первое - проиндексировать кучу носков, а второе - использовать ассоциативную память (хеш). препятствием к первому алгоритму является то, что все известные способы индексации требуют введения отношения порядка для носков из кучи, т.е. взяв два любых носка мы должны суметь сказать что один доложен лежать правее, а другой - левее. так как ввести такое отношение затруднительно (носки похожи) первый вариант не катит. остается использовать хеширование, или ассоциативное хранилище. что есть хеш по отношению к куче носков или одному, конкретному носку? хэш есть некий набор признаков, исходя из которого можно данный носок определить в одну из куч меньшего размера. Т.е. находим множество признаков, по элементам которых мы сможем поделить всю большую кучу носков на несколько более маленьких, где, собствеено, и искать для него пару (блондинки, ау! этот подход называется "разделяй и властвуй" и часто используется в программировании). признаков выявлено: резинка сверху (есть/нет), рисунок (есть/нет), продольные полоски(есть/нет), ткань (синтетика/хлопок); всего - 4 признака, дающие 16 вариантов (перемножение размерностей каждого из признаков: 2*2*2*2=16) (...еще пива!)
итак, нам необходимо каким-то образом организовать на столе 16 кучек, чтобы они не пересекались и чтобы их было просто искать. так как без проблем мы можем разложить на плоскости стола 4 кучки (верх-низ, право-лево), а кучек у нас 16, то мы сгруппируем признаки попарно: верх/низ - резинка, право/лево - рисукок. в кажой из получившихся частей: верх/низ - полоски, право-лево - материал. такм образом, взяв в руки носок и последовательно отвечая на 4 вопроса о его признаках мы однозначно определим к какой из 16 куч этот носок относится. :) (блондинки! данный подход называется построение бинарного дерева решений и тоже часто используется для оптимизации операций сравнения). в среднем можно сказать что в кучку должно попасть не более 2-х пар (16*2 = 32, а пар - 30, хотя конечно же это не так, признаки делят все носки неравномерно) и количество сравнений в каждой из куч будет мало. (еще пива!)
итак, берем носок, отвечаем на вопросы, узнаем место кучи. смотрим в куче - если есть парный, оба носка выходят из обработки, если нет - носок добавляется в кучу.
действуя таким образом, я рассортировал свои носки меньше чем за 3 минуты, выпив при этом кружку пива. еще 10 минут я писал этот бред и выпил полторы кружки. сортируйте носки, и ваши волосы будут мягкими и шелковистыми!
p.s. да. 11 лет программирования - это вам не шутка! :)
нопесать | в избранное | рассказать другу | ссылка
очень красиво. первая - больше понравилась техникой фотографии, последняя - моделью :) http://community.livejournal.com/nakedbeauty_ru/548055.html
Внимание! ссылка содержит очень откровенный материал
нопесать | в избранное | рассказать другу | ссылка
произошел у меня после того как я сходи по ссылке. вот ведь, умеют когда хотят...
http://www.youtube.com/watch?v=0R145MXyUJU
нопесать | в избранное | рассказать другу | ссылка
я не любитель ссылок и перепостов. но, на меня эта подборка произвела сильное впечатление. это - кадры с войны одного из русских корреспондентов, все, без цензуры. внимание! ссылка содержит материал который может быть вреден впечатлительным людям и детям. война в Южной Осетии. фотографии Аркадия Бабченко суммарный объем фотографий - около 15 мегабайт
нопесать | в избранное | рассказать другу | ссылка
здесь есть такой фрагмент:
"- Как-как ты сказал? - заинтересовался Президент, придвигая к себе блокнот, - Кошмарить? Я запишу… - Пиши, пиши, - сказал Владимир Владимирович™, - Когда я скажу - рынок упадет. А когда ты - рынок поднимется. Понимаешь? - Понимаю, - кивнул Дмитрий Анатольевич, записывая новое слово, - А зачем это? - То есть как это - зачем? - не понял Владимир Владимирович™, - Скучно же! А так хоть какая-то веселуха… Дмитрий Анатольевич посмотрел на Владимира Владимировича™ с уважением. "
я от смеха чуть в осадок не выпал. :)
нопесать | в избранное | рассказать другу | ссылка
это, наверняка, изобретение велосипеда, но сегодня я придумал алгоритм для нахождения обратного по модулю 2^32 на битовом уровне. исходник:
program mod32inv;
{$APPTYPE CONSOLE}
uses
SysUtils;
function inv1(a: Cardinal): Cardinal;
var
i: Integer;
t,n: Cardinal;
begin
result := 0;
if (a and 1) = 0 then exit;
a := (not a)+1;
t := $ffffffff;
n := 1;
for i := 0 to 31 do
begin
if (t and n) = n then
begin
result := result or n;
t := t + a;
end;
n := n shl 1;
a := a shl 1;
end;
result := (not result)+1;
end;
function inv2(a: Cardinal): Cardinal;
asm
push ebx;
push ecx;
push edx;
push esi;
neg eax; // ebx - t
xor ebx,ebx; // edx - n
dec ebx; // eax - a
xor edx,edx;
inc edx;
mov ecx,32;
xor esi,esi; // esi - result
test al,1;
jz @elp000;
@lp000:
test ebx,edx;
jz @clp000;
or esi,edx;
add ebx,eax;
@clp000:
shl edx,1;
shl eax,1;
loop @lp000;
@elp000:
mov eax,esi;
neg eax;
pop esi;
pop edx;
pop ecx;
pop ebx;
end;
var
a,b,c: Cardinal;
begin
a := 17;
b := inv1(a);
c := a*b;
writeln(a,' ',b,' ',c);
b := inv2(a);
c := a*b;
writeln(a,' ',b,' ',c);
readln;
end.
если кому-то интересен/непонятен его смысл, могу объяснить. обращает ТОЛЬКО нечетные числа.
нопесать | в избранное | рассказать другу | ссылка
|
 |
|
 |
 |