- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
unit Shaker;
interface
uses Windows, SysUtils, StrUtils, Math, Graphics;
type
TShakeFlags=(sfStyle, sfSize, sfColor);
TShakeOpts=set of TShakeFlags;
function ShakeString(const Text:string; Options:TShakeOpts=[sfColor]):string;
implementation
function ShakeString(const Text:string; Options:TShakeOpts=[sfColor]):string;
function SetFontStyle(const Src:string):string;
const
Styles:array[0..5] of string=('[u]%s[/u]','[i]%s[/i]','[b]%s[/b]','[s]%s[/s]','[code]%s[/code]','%s');
begin
Randomize;
Result:=Format(Styles[RandomRange(0,4)], [Src]);
end;
function SetFontSize(const Src:string):string;
const
Sizes:array[0..3] of string=('[size=10]%s[/size]','[size=15]%s[/size]','[size=20]%s[/size]','%s');
begin
Randomize;
Result:=Format(Sizes[RandomRange(0,4)], [Src]);
end;
function SetFontColor(const Src:string):string;
const
Colors:array[0..3] of string=('[color=red]%s[/color]','[color=blue]%s[/color]','[color=green]%s[/color]','%s');
begin
Randomize;
Result:=Format(Colors[RandomRange(0,4)], [Src]);
end;
var
S:string;
I:Integer;
begin
Result:='';
for I:=1 to Length(Text) do
begin
S:=Text[I];
if not (Text[I] in [#32,#9,#13,#10]) then
begin
if sfStyle in Options then
S:=SetFontStyle(S);
if sfSize in Options then
S:=SetFontSize(S);
if sfColor in Options then
S:=SetFontColor(S);
end;
Result:=Result+S;
end;
end;
end.
Добавил кнопку [shake] с такой функциональностью в свой юзерскрипт, проверь.
shakeFlags.STYLE, пидорасит, потому что code перенос делает.
Тогда бы учёт использованного был бы не
SetLength(Arr, Length(Arr)+1); Arr[Length(Arr)-1]:=R;,
а Arr[R] := True;
А проверка на использованность - не AlreadyUsed(Arr, R), а просто Arr[R].
Кстати, перебирайтесь на JS. Можно будет свой код сразу встраивать в страничку с ГК.
http://learn.javascript.ru/
Более того, чтобы спамить с одной учётки, достаточно написать юзерскрипт, который по нажатию кнопки в треде добавляет туда пачки комментов.
P.S. Надо ещё цветами поиграть, чтобы разные были у текста и пере- и подчёркиваний.
GET my.sweet.proxy/spam?username=g0_pitux&comm=400000&text= spam
Это что за прокси?
З.Ы. Или будет одна локальная, а она уже зароутит на настоящие?
Так это уже не на JS) Ну разве что на ноде сделать прокси, которое юзает другие проски, и знает все куки для тысячи аккаунтов, а id юзера из-под которого ты хочешь запостить, передавать в томже урле аякс-запроса &user_id=5528
Но строго говоря, это слишком специально, чтобы сказать "на js тоже так можно". В общем случае действительно придётся соснуть хуйца, по сравнению с каким-нибудь пистоном для данной задачи.
> для упомянутой сёмой задачи потребуется много проксей на разных айпишниках
Для упомянутой задачи подойдёт самописный прокси для ГК, который умеет что-нибудь постить.
Если расширять задачу до проксей на разных айпишниках, то спецпрокси для ГК будет общаться с ними.
Почему не JS? Node.js призван работать с сетевой питушнёй.
А в питоне его нет?
Хотя, если по чесноку, то надо читать как сделали asyncio в cpython: может быть там тоже всё не так плохо
Почитай, может для себя что нового откроешь. Ах, да, ты же админ.
Но уже стало лучше:
https://docs.python.org/3/library/asyncio-eventloops.html
https://docs.python.org/3/library/selectors.html#module-selectors
SelectorEventLoop based on the selectors
ProactorEventLoop using “I/O Completion Ports”
BaseSelector
+-- SelectSelector
+-- PollSelector
+-- EpollSelector
+-- DevpollSelector
+-- KqueueSelector
Т.о. покрыты все основные оси. Не покрыты ports в Solaris видимо (libuv вроде их умеет), но на солярку всем похуй
Однако же я вижу что IOPC писали еще в PEPе, так что вероятно я читал какое-то неправдивое говно.
ololo
Ооо, это уже лучше, вставляет!..
О, как тонко, месье, какой аромат!
— О, как это Стертор сделал чёрно-белый коммент? O_o
Но в данном случае важнее психология (код воздействует на пользователя), а не математика (критерии псевдослучайности). Так что ближе к ошибке.
Тогда эти функции будут каждый раз гарантированно выдавать новый результат.
Псевдопаскаль:
Давайте лучше подумаем, как сделать вложенные теги, чтобы можно было запиливать что-то вроде сим-салапим
Я вот в http://govnokod.ru/23898#comment407535 сделал взбалтыватель с учётом того, что можно u и s делать другими цветами относительно основного текста.
Если использовать shakeString, будет неэкономное по символам питушение, если использовать shakeChar (JS не отличает символы и строки), будет сим-салапим.
ЭВОВ - ЭВ с одним вариантом.
Взбалтыватель (shakeChar) - это последовательное применение элементарных взбалтывателей (ЭВ):
1. ЭВ покраска текста
2. ЭВОВ тэг u; ЭВ покраска текста при успехе
3. ЭВОВ тэг s; ЭВ покраска текста при успехе
4. ЭВОВ тэг b
5. ЭВОВ тэг i
6. ЭВ размер
Взбалтыватель строки применяет взбалтывание к каждому символу строки.
Для отслеживания успеха/неудачи shaker реализован как стрелка Клейсли для монады Either (Left - если ОВ не сработал; Right - если ОВ сработал). shakeChar применяет композицию ЭВ к тексту. Пункты 2, 3 содержат композицию с учётом монадических эффектов, т.к. нужно контролировать, что оборачивание в форматирующий тэг сработало; список ОВ для shakeChar сворачивается с использованием композиции без монадических эффектов, т.к. нужно последовательно применить все имеющиеся преобразования.
О, вот оно как. А я собирался запилить это на ООП, создать класс. Но теперь уже что-то лень...
Я остался верен себе, своим чувствам, ценностям. Контролировать себя всё сложнее, очевидно, болезнь моя зашла слишком далеко.
Весь день делал только плохое. Разбил окно из заранее припасённой рогатки, не уступал место в маршрутках. Зайдя в подъезд, дождался, когда появится школьник-второсменник, отнял у него телефон, выбросил его учебники в мусоропровод, потом затащил в подвал, излупил и насильно заставил курить. Ох, и достанется же кому-то дома!..Телефон я потом выбросил(ненавижу сенсоры). На следующий день я купил пачку швейных игл, расплатившись фальшивой купюрой, и поехал в больницу. Я тихонько прокрался к двери оперблока, на ходу доставая иглы из упаковки, натолкал игл в замок и обломил концы. В руках у меня остались обломки - я понял, что это жизни тех, кто не успеет на операцию. Мне стало грустно, я вышел из здания и поплёлся в парк, где поймал трамвай, на котором прокатался до полудня. Я вышел на парковочной станции, так как мое внимание привлекли машины. Томимые жарой механики распивали пиво поотдаль, им явно было не до работы. Оглядевшись, я сразу принялся колоть колёса, получая от этого поистине чудовищное наслаждение. Дверь одного из салонов оказалась незаперта - моим трофеем стала женская сумочка. Порывшись я обнаружил немного мелочи, наиболее существенными из которой оказалиь связка ключей с перочинным ножом в качестве брелка, губная помада и пудреница.
Уже вечерело. Я заскочил в магазин, прикупив сигареты и несколько банок пива.
Проходя дворами, я наткнулся на компанию пьяненьких спермотоксикозников и решил к ним присоединиться. Угостив их пивом я вполне сошёл за старшОго. Когда пиво кончилось, я вновь проявил широкий жест; волею Бахуса наши стаканы вновь наполнились. Я накачивал их, пока они не перестали двигаться. Могут не оклематься? Мне плевать. Морщась от брезгливости, я слегка расстегнул штаны на одном овоще, стянул с него трусы, завернул их в целлофан и положил в карман пиджака - ещё пригодится. Покинув моих пьяненьких друзей я зашёл в супермаркет. Убедившись в отвутствии рядом агентов, я продолжил диверсантскую деятельность: раздавил полсотни яиц, проколол пакет с соком и вылил на пол литров пять оливкового масла. Ваааау... Скользко! Теперь, когда супермаркет стал филиалом Ледового дворца, прибыль хозяев, несомненно, увеличится. Не дожидаясь благодарностей, я быстро вышел.
Настало утро. Я спустил ноги с кровати и сладко потянулся.
Наскоро позавтракав и одевшись, я выскочил из квартиры, обдумывая план действий.
Спускаясь по лестнице, я увидел, как сверкнул глазок соседской двери.
Настроение сразу испортилось.
-Развели тут, понимаешь, сексотство, - моему негодованию не было предела. Чиркнув спичкой я раскурил сигарету, подкрался к двери, вплотную приблизил огонек сигареты к пластмассовому глазку и сделал несколько глубоких затяжек, затушив сигарету о глазок.
Выйдя из подъезда, я свернул за угол к телефону-автомату.
Сверившись со справочником, я обзвонил несколько школ, каждый раз официальным голосом сообщая о якобы готовящемся покушении, о заложенной бобме, о химической атаке. Не вешая трубку, я быстро ушёл дворами, решив опять устроить набег на супермаркет.
Накупив в аптеке всевозможных лекарств, я разбросал их на детской площадке; теперь у ребятишек будет достойный реквизит для игры "в доктора". На ум пришёл заголовок в бульварной газете: "Игра в доктора закончилась промыванием желудка" - я горько усмехнулся. Трамвай привёз меня на водную станцию. Портфель за спиной мешал мне, но снимать его мне было лень. Примостившись на одной из лавочек, я стал думать, что делать дальше, пока не вспомнил, что придаёт тяжести моему портфелю: пневматический ппистолет. Ноги сами понесли меня на к этажке. Представившись разносчиком пиццы, я беспрепятственно проник в подъезд а затем и на крышу (люк даже не был заперт).
-Вот бы что-нибудь отсюда сбросить,- сказал я вслух.
-В чем проблема? Прыгай.
Я круто развернулся. На крыше я был не один. За трубой сидя на портфеле курил парень лет 16. На пай-мальчика он явно не тянул. Хулиган. Возможно, даже нарик.
Я сразу понял, что от такого может быть толк.
Оказалось, что он видел, как я стрелял, но, как он сказал, ему "пофиг".
-Нельзя же быть таким похуистом, сказал я, и принялся осматривать крышу. Скоро я нашёл огромное колесо, наверно, от Камаза. Неизвестно, зачем его притащили на крышу, но применение ему я уже придумал.
-Скинем его?
-Если желаешь...
Я пытался поднять колесо, но это было мне явно не по силам.
В конце концов мой однокрышник не вытерпел и стал помогать.
-Ну, понеслась!..
Мы столкнули колесо вниз.
Я видел, как огромная махина переворачиваясь в воздухе пулей летит вниз, ударяется об асфальт и бешено крутясь, сбивает прохожих. Внизу постепенно стали собираться люди.
Мой новый знакомец тоже молча наблюдал. Я вдруг заметил, что у него стеклянный взгляд.
-Пора бежать.
Счёт шёл на секунды.
(жест лётчиков) Он деланно улыбнулся.
-А ты?
-Я призрак летящий на крыльях ночи, - и полился бред.
Я понял, что в таком состоянии его нельзя оставлять. Было странно, но этот плохиш был мне небезразличен. Мы кое-как спустились, сели в лифт и благополучно поймали трамвай.
На наше счастье в трамвае было мало людей, мой обсаженный друг не привлекал внимания, но был тем не менее неадекватен.
Когда мы выходили из трамвая, он описался.
Бросив его на пустыре, я сбегал в вечерний магазин, купил немного жратвы и пару бутылок минералки. Я вылил ему на голову полбутылки и заставил выпить.
Через некоторое время он совсем отрубился. Я был в отчаянии.
Открыв его ранец я немного порылся, но ничего подозрительного не нашёл. Медикаментов у него при себе не было. Полистав дневник, я узнал, что моего друга зовут Макс и что он в общем-то отличник. Сказать, что я был шокирован - ничего не сказать. Машинально сложив всё барахло обратно в ранец я стал обдумывать план действий. Прошло много времени прежде чем мой друг стал подавать признаки жизни.
-Ну, как ты?
-Охуительно.
-Наверно, мы кого-то зашибли колесом, там люди стояли.
-Мне похуй. Я, кажется, обтриводнился.
-Тебе не кажется, ты воняешь, как дерьмо. Что дальше? Надо привести тебя в порядок, нельзя в таком виде.
После долгих размышлений мы решили купить что-нибудь подходящее. Я сзъездил в ближайший секонд хэнд и привёз Максу недорогие обноски, заставив его переодеться. Он не стесняясь скинул одежду.
-И не стыдно?
-Кого стыдиться? Тебя? Он улыбнулся.
-Я вообще-то пидр.
-Мне похуй.
Я пожал плечами.
Обноски ему очень даже пошли. Небросско, но все же лучше, чем ходить обоссанным.
-Где живёшь?
-в России.
-Я что, шучу с тобой?!
-Не беси... Дай подумать.
-Слушай, а дневник твой?
-Мой.
-Ты даже больший извращенец, чем я мне сначала показалось.
-Возможно.
-Тебя дома не хватятся?
-Я думаю, что нет.
Я решил его проводить. Мы рассуждали на абстрактные темы, перескакивая с первого на третье, с пятого на десятое.Я вкратце рассказал ему о своих взглядах на жизнь. Он ни разу не перебил, чем, как ни странно, вызвал у меня досаду(похуй небось?), но оказалось он слушал очень внимательно. У витрины магазина мы остановились, чтобы подать друг другу руку.
-Мы ещё встретимся?
Мы оба поняли, что просто так уйти не получится.
-Знаешь, как это делается? - Он замотал кулак тряпицей, и изо всей силы ударил во витрине, пробив стекло насквозь. Завизжала сирена. Мы разошлись по домам.
С Максом мы подружились. Наша дружба определенно пошла обоим на пользу. Прошло много лет, он - знаменитый актёр, а я... А я перестал быть затравенным зверьком - согласитесь, это неплохо...
***
Чтобы хоть как-то разогнать тяжелые мысли, я зашел в бургерную. Накупив с полпакета бургеров, я вышел на остановку, чтобы ловить трамвай. Ждать пришлось долго, но на мою радость вагон был полупустой. Сев и положив пакет рядом, я стал смотреть в окно, на проносящиеся мимо силуэты домов, огни и панельные строения. В трамвае стоял дикий галдёж. Сунув руку в карман брюк, я с величайшим огорчением понял, что наушники забыл дома.
-Ох, не переводится быдло на Руси, - прошептал я, и стал открывать окно, ловя себя на мысли, что с удовольствием выбросил бы всех болтунов из вагона, причем на полном ходу. На одной из остановок в вагон вошёл неряшливого вида старик, очевидно, выходец из Южной Осетии. Несмотря на обилие свободных мест, этот урод решил сесть рядом. Сидишь один, а занимаешь два места?! - примерно такой была его примитивная логика. Даже не взглянув что под ним, он плюхнул свой зад на мой пакет с бургерами, едва я успел их выхватить. Я вскипел. Захотелось обругать, нагрубить - но я тотчас взял себя в руки, поняв, что так дела не делаются. На защиту быдла тут же встанут его собратья по разуму, а я останусь крайним. Надо играть с быдлом по его же правилам.
-Осторожнее...
Старик вышел на следующей, и бодро зашагал по дороге, ещё больше убедив меня в преднамеренности своих гнусных замыслов.
Наутро я накупил в аптеке презервативов - самых дешёвых. После десятой пачки, молодая фармацевтша расплылась в сладкой, вульгарной улыбке.
-Чего лыбишься, овца?..
В общаге с помощью резиновой груши наполнил презики формалином, осторожно упаковал в ранец, предварительно вытряхнув их него всю макулатуру - он стал непривычно тяжелым - и выскользнул за дверь.
-Воспитание... -Вос-пи-та-ни-е. Ну ладно. Пару раз, разложив шары, я начинал истерично кричать, чтобы привлечь внимание народа:
-Ой, смотрите, кто-то вредит!.. Не садитесь!.. Сарафанное радио сделает своё дело, можно и не сомневаться.
Наутро я намеренно пришёл на пару раньше обычного. Первой парой была органическая химия. Комнаты - наша и параллельного потоков - были незаперты. Я вошёл, подкрался к столу с реактивами и стянул пузырёк с хлороформом. Подлив хлороформа в спиртовки и флакон со спиртом для заправки их, я был таков.
-Светя другим - сгораешь сам... Достав носовой платок из заднего кармана, я пропитал его остатками хлороформа и подбросил, вместе со склянкой, под дверь лаборантской. Кому-то точно не поздоровится, но точно не мне.
[продолжение следует]
Придя в общагу, я первым делом спрятал приобретения под стол, затем отправился на поиски пропитания.
***
Выждав неделю, я решил снова совершить визит в магазин.
Купив в одном хозмаге ацетона, в другом - хлорку, а в третьем - пластиковый шланг, я отправился в аптеку за детской резиновой грушей и капельницей. Придя в общагу, я поужинал, затем запер дверь, открыл окно и приступил к изготовлению зелья.
Тварь была в магазине не одна. На втором стуле восседала неопрятного вида гусыня, одного с ней возраста. Я попросил продавщицу к витрине и долго водил ее за нос, прося показать то одну, то вторую вещь. Пока она ходила взад вперёд, от моих ботинок чуть натекло; что поделаешь - зима!.. Я походил, размазал лужу, поблагодарил и вышел из магазина.
Пройдя две-три улицы, я услышал вопли и обернулся. На пороге стояла блондинка. Она кричала и жестикулировала. -Дыши глубже, бедолага, улыбнулся я. Домой шёл пешком.
-А ты куда смотрела?! - пожалуй, спросит она у своей подруги, та ответит, что ничего подозрительного не заметила. Две дуры. Может, зря я так с ними?..
Придя в общагу, я на своей шкуре испытал злобу сваренного мною же зелья. Подошвы издавали резкий, удушающий запах, от которого слезились глаза(это несмотря на то, что я всю дорогу шёл по заснеженной дороге!). Кто больший негодяй - я, или те, кто принимает мою открытость за слабохарактерность? А чёрт его знает. Время всё расставит по своим местам.
[продолжение следует]