Thursday, July 22, 2010

Определенно, я под колпаком =)

Скачал тут давеча бесплатный SpyBot, лениво просканировался на spyware. Результат в скриншоте ниже )) Интересно то, что это никакие не false positive alarms, а реальная spyware. На жестком диске действительно можно найти и сриншоты и логи.. Мда.




















ЗЫ в прошлом посте писал про каталоги - сорри, камменты не читал. сегодня всем отправлю ссылки. спс.

Friday, July 16, 2010

Собрал список каталогов статей

Потратил сегодня несколько часов и собрал таки рабочий список русскоязычных каталогов статей. Всего обработал больше 300 ссылок. Убрал откровенно мертвые, потом те, страниц которых нет в индексе Google и Яндекса, типичные говносайты, потом убрал платные, и наконец сортировал по тИЦ. В итоге получилось всего 48 каталогов, из них 18 с тИЦ=0, 20 с тИЦ от 10 до 100, и остальные потолще. Вот такие дела. Сейчас перекурю и буду сабмитить статью.

ЗЫ неуверен, стоит ли сюда выкладывать список, ибо спаммеры и так о них знают, а местным оптимизаторам мне кажется это не слишком интересно, а напрягать редакторов наплывом говностатей от бегиннеров тоже не есть гуд...

Saturday, July 3, 2010

Медитация для ясности ума

Случайно наткнулся на этот видео ролик. Действительно помогает сосредоточиться...

Wednesday, June 23, 2010

shopxml

Все-таки как странно проходят продажи у ShopXML. Волнообразно все. Причины не нашел, сколько ни пытался. Трафик один и тот же, кейворды одни и те же, а покупки то в день по 2 штуки, то неделя или две тишины. Хммм...

OFF
Медведев в Твиттере теперь. Какой современный, охуеть =) http://twitter.com/KremlinRussia

OFF2
друг попросил поставить ссылку. бесплатная программа мониторинг сотрудников

Friday, June 18, 2010

Inno Setup: Как закрыть программу перед ее удалением

Гуглить пришлось достаточно долго) Привожу скрипт, может кому пригодится еще кроме меня. Да и сам не забуду)
Код вставляем в начало, сразу после объявления переменных.

[Code]
const
LEN_EXEFILE = 260;
type
PROCESSENTRY32 = record
dwSize: cardinal;
cntUsage: cardinal;
th32ProcessID: cardinal;
th32DefaultHeapID: cardinal;
th32ModuleID: cardinal;
cntThreads: cardinal;
th32ParentProcessID: cardinal;
pcPriClassBase: cardinal;
dwFlags: cardinal;
szExeFile: Array[0..LEN_EXEFILE] Of Char;
end;
HANDLE = cardinal;
const
TH32CS_SNAPHEAPLIST = $1;
TH32CS_SNAPPROCESS = $2;
TH32CS_SNAPTHREAD = $4;
TH32CS_SNAPMODULE = $8;

function Process32First(
hSnapshot: HANDLE;
var lpProcess: PROCESSENTRY32): Integer;
external 'Process32First@kernel32.dll stdcall';

function Process32Next(
hSnapshot: HANDLE;
var lpProcess: PROCESSENTRY32): Integer;
external 'Process32Next@kernel32.dll stdcall';

function CloseHandle(hSnapshot: HANDLE): Integer;
external 'CloseHandle@kernel32.dll stdcall';

function CreateToolhelp32Snapshot(
lFlags: cardinal;
lProcessID: cardinal): HANDLE;
external 'CreateToolhelp32Snapshot@kernel32.dll stdcall';

function ProcessRunning(sProcessName : String): Boolean;
var
hSnapshot: HANDLE;
PInfo: PROCESSENTRY32;
nResult: Integer;
bRunning: Boolean;
sTemp: String;
i: Integer;

begin

hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

If hSnapshot = -1 Then
begin
Result := False;
Msgbox('Failed to get snapshot of running processes.',
mbError, MB_OK);
Exit;
end;

bRunning := False;
PInfo.dwSize := SizeOf(PInfo);
nResult := Process32First(hSnapshot, PInfo);

while (nResult <> 0) and (not bRunning) do
begin
i := 0;
sTemp := '';
while (i < LEN_EXEFILE) and (PInfo.szExeFile[i] > Chr(0)) do
begin
sTemp := sTemp + PInfo.szExeFile[i];
i := i + 1;
end;

if CompareText(sTemp, sProcessName) = 0 then

begin
bRunning := True;
end;

PInfo.dwSize := SizeOf(PInfo);
nResult := Process32Next(hSnapshot, PInfo)
end;

CloseHandle(hSnapshot);
Result := bRunning;

end;

function InitializeUninstall(): Boolean;
var
nMsgBoxResult: Integer;

begin
Result := True;
nMsgBoxResult := IDOK;

while ProcessRunning('MY PROGRAM.EXE') and
(nMsgBoxResult <> IDCANCEL) do
begin
nMsgBoxResult := Msgbox('MY PROGRAM.EXE is running. Please close application to continue.',
mbError, MB_RETRYCANCEL)
end;

if nMsgBoxResult = IDCANCEL then

begin
Result := False;
end;

end;

Saturday, May 29, 2010

Зарегистрировался в Блогуне)

Так, ради интереса. И тут же ухватил заказ на обзор =Р
обещаю, что это первый и последний платный пост в этом блоге) кстати может даже и правда кому пригодится сие:

UltraHost.Me - это бесплатный сервис, предоставляющий услуги хостинга файлов. Минимум рекламы. Высокая скорость скачивания. Высокий аптайм.

Saturday, May 8, 2010

База русских RSS каталогов

Возникла необходимость просабмитить RSS-ленту. Собрал базу из нескольких источников. Думаю самая свежая база что есть) Значит, выкладываю: базу для полуавтоматической регистрации RSS-фида или блога в русскоязычные каталоги RSS лент.

В архиве:
all-rss-ru.txt - все русские каталоги RSS какие только смог найти
good-rss-cat-ru.txt - сабмит на которые прошел успешно.
base.asd4 - те же успешные, база формата allsubmitter


http://depositfiles.com/ru/files/yzkibdb1k

пользуйтесь на здоровье)