Jeśli chcesz zarabiać, poprzez umieszczanie płatnych reklam na twojej stronie to polecam ci kilka programów partnerskich:
- Google AdSense
- mBank
- Allegro
- CpmProfit (http://www.cpmprofit.com/?ref=Masayashi)
- bet-at-home
Wszystkie te serwisy płacą za umieszczanie reklam na twojej stronie. Allegro, mBank i bet-at-home płacą za zarejestrowanie się z twojej reklamy do ich serwisu, mBank oferuje 0.60% od zaciągniętego kredytu, Allegro oferuje 10zł za zarejestrowanie się przez twoją reklamę oraz 30% wpłat poleconego w ciągu roku, bet-at-home oferuje 30% zarobków poleconego na 1 poziomie, 10% na drugim poziomie i 5% na trzecim poziomie.
Google AdSense i CpmProfit oferują wyświetlanie płatnych reklam na twojej stronie, z Google AdSense dostajesz pieniądze za kliknięcia w reklamy, które są umieszczone na twojej stronie, CpmProfit za wyświetlanie i klikanie w reklamy na twojej stronie. Jeśli weźmiesz udział we wszystkich programach i zareklamujesz się odpowiednio możesz zarobić naprawdę spore pieniądze.
Zapraszam do komentowania!
wtorek, 31 sierpnia 2010
Przywracanie i naprawa GRUB-a
Często zdarza się, że bootloader nie startuje(nie wiadomo z jakiej przyczyny, a czasami sami coś pomieszamy :D) i wypadałoby go jakoś naprawić. Mnie też się to przytrafiło kilka razy(przyczyny były różne :D), więc postanowiłem opisać wam jak to zrobić, na kilka sposobów. Najpierw pokaże najprostszy:
Sposób I Instalacja GRUB-a w MBR za pomocą LiveCD
1. Uruchamiamy jakiś system LiveCD(Ubuntu, Debian, Knoppix) i jeśli nie pamiętamy rozkładu naszych partycji możemy wydać polecenie w konsolce(z poziomu root-a):
fdisk -l
2. Jeśli już znamy rozkład partycji możemy przejść do instalacji GRUB-a. W konsolce jako root podajemy kolejno polecenia:
mkdir /mnt/root
mount -t ext3 /dev/hda3 /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
chroot /mnt/root /bin/bash
grub
!zamiast hda3 wpisz swoją partycję!
3. Powinieneś ujrzeć taki wpis w konsolce:
grub>
4. Wpisujemy kolejne polecenie:
find /boot/grub/stage1
5. Pokaże wam to co zostało znalezione i podajemy kolejne polecenia(podaj swoją partycję):
root (hd0, 2)
setup (hd0)
Numerowanie dysku zaczyna się od 0(hd0)! więc jeśli dla przykładu użyjemy partycję hda3 będzie ona miała numer 2!
6. Po restarcie wszystko powinno wrócić do normy.
Sposób II Odzyskiwanie GRUB-a
1. Wkładamy do napędu płytę instalacyjną z Debianem i podajemy polecenie:
rescue - dla trybu tekstowego
rescuegui - dla trybu graficznego
2. Postępujemy wg poleceń instalatora tak jak przy instalacji, montujemy dyski, myszkę, klawiaturę, konfigurację internetu itp. W pewnym momencie następnym krokiem będzie "Uruchom konsolę odzyskiwania".
3. W tej konsoli wybieramy partycję na której mamy zainstalowany system. Załaduje ci się powłoka systemu w trybie rescue. Sprawdź plik /boot/grub/menu.lst i sprawdź czy nie ma w nim błędów.
4. Przykładowy wpis w /boot/grub/menu.lst :
title Debian GNU/Linux, kernel 2.6
root (hd0,2)
kernel /boot/vmlinuz-2.6 root=/dev/hda3 ro
initrd /boot/initrd.img-2.6
savedefault
boot
5. Teraz zapisujemy plik konfiguracyjny GRUB-a i po restarcie wszystko powinno wrócić do normy.
Zapraszam do komentowania!
Sposób I Instalacja GRUB-a w MBR za pomocą LiveCD
1. Uruchamiamy jakiś system LiveCD(Ubuntu, Debian, Knoppix) i jeśli nie pamiętamy rozkładu naszych partycji możemy wydać polecenie w konsolce(z poziomu root-a):
fdisk -l
2. Jeśli już znamy rozkład partycji możemy przejść do instalacji GRUB-a. W konsolce jako root podajemy kolejno polecenia:
mkdir /mnt/root
mount -t ext3 /dev/hda3 /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
chroot /mnt/root /bin/bash
grub
!zamiast hda3 wpisz swoją partycję!
3. Powinieneś ujrzeć taki wpis w konsolce:
grub>
4. Wpisujemy kolejne polecenie:
find /boot/grub/stage1
5. Pokaże wam to co zostało znalezione i podajemy kolejne polecenia(podaj swoją partycję):
root (hd0, 2)
setup (hd0)
Numerowanie dysku zaczyna się od 0(hd0)! więc jeśli dla przykładu użyjemy partycję hda3 będzie ona miała numer 2!
6. Po restarcie wszystko powinno wrócić do normy.
Sposób II Odzyskiwanie GRUB-a
1. Wkładamy do napędu płytę instalacyjną z Debianem i podajemy polecenie:
rescue - dla trybu tekstowego
rescuegui - dla trybu graficznego
2. Postępujemy wg poleceń instalatora tak jak przy instalacji, montujemy dyski, myszkę, klawiaturę, konfigurację internetu itp. W pewnym momencie następnym krokiem będzie "Uruchom konsolę odzyskiwania".
3. W tej konsoli wybieramy partycję na której mamy zainstalowany system. Załaduje ci się powłoka systemu w trybie rescue. Sprawdź plik /boot/grub/menu.lst i sprawdź czy nie ma w nim błędów.
4. Przykładowy wpis w /boot/grub/menu.lst :
title Debian GNU/Linux, kernel 2.6
root (hd0,2)
kernel /boot/vmlinuz-2.6 root=/dev/hda3 ro
initrd /boot/initrd.img-2.6
savedefault
boot
5. Teraz zapisujemy plik konfiguracyjny GRUB-a i po restarcie wszystko powinno wrócić do normy.
Zapraszam do komentowania!
poniedziałek, 30 sierpnia 2010
Przydatny bajer - monitor systemu.
Postanowiłem zainstalować sobie monitor systemu, taki bajek który wyświetla informacje o systemie na pulpicie. Używałem już kiedyś programu Conky więc i teraz go zainstaluję. Opiszę wam opis instalacji:
1. Aktualizujemy dane o pakietach:
aptitude update
2. Następnie instalujemy:
aptitude install conky
3. Plikiem konfiguracyjnym jest .conkyrc w katalogu domowym(~/.conkyrc). Otwieramy konsolkę i wpisujemy:
touch ~/.conkyrc
4. Wstawiamy przykładowy config do tego pliku:
background yes
#prawy dolny rog
gap_x 1050
gap_y 50
maximum_width 200
# X font when Xft is disabled, you can pick one with program xfontsel
#font -*-*-*-r-normal--14-*-*-*-c-*-iso8859-2
font -xos4-terminus-*-r-normal-*-12-100-*-*-c-*-iso10646-1
# Use Xft?
use_xft yes
#xftfont Bitstream Vera Sans Mono:size=8
xftfont Terminus:encoding=utf-8:size=9
xftalpha 0.9
update_interval 1.0
total_run_times 0
own_window no
#own_window_type desktop
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
# If own_window_transparent is set to no, you can set the background colour here
own_window_colour hotpink
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
draw_shades yes
draw_outline no
draw_borders no
stippled_borders 8
border_margin 4
border_width 1
default_color white
default_shade_color black
default_outline_color white
alignment top_left
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale no
use_spacer yes
TEXT
${color #ddaa00}${font Terminus:encoding=iso8859-2:size=15}${time %A}${color}
${font :encoding=iso8859-2:size=9}$alignc${color #ddaa00}${time %e %B %G}
${color slate grey}Kernel:
$alignc${color }$kernel
${color slate grey}UpTime:
$alignc${color }$uptime
${color slate grey}Load:
$alignc${color }$loadavg
${color }${color slate grey}CPU: $color%${color #ddaa00}$cpu$alignr$color$running_processes/ $processes
${color slate grey}${cpugraph 25,200 000000 ffffff}
${font :size=8}${color #ddaa00}${top name 1}$alignr${top cpu 1}
${color lightgrey}${top name 2}$alignr${top cpu 2}
${color lightgrey}${top name 3}$alignr${top cpu 3}
${color lightgrey}${top name 4}$alignr${top cpu 4}
${font :size=9}
${color slate grey}RAM: $color%$memperc ${alignr}$mem
${membar 5,200}
${color slate grey}SWAP: $color%$swapperc ${alignr}$swap
${swapbar 5,200}
${font :size=8}${color #ddaa00}${top_mem name 1}$alignr${top_mem mem 1}
${color lightgrey}${top_mem name 2}$alignr${top_mem mem 2}
${color lightgrey}${top_mem name 3}$alignr${top_mem mem 3}
${color lightgrey}${top_mem name 4}$alignr${top_mem mem 4}
${font :size=9}
${color slate grey}TWARDZIEL: $color$alignr$diskio
${color slate grey}${diskiograph 25,200 000000 ff0000}
${color slate grey} /:${alignr}${color }${fs_free /}
${fs_bar 5,200 /}
${color slate grey}INTERNET:
${color}DL:${color #ddaa00}${downspeed eth0}${color}UP:${color #ddaa00}${upspeed eth0}${color}${alignr}KiB/s
${offset 10}${color}Total: ${color white}${totaldown eth0}
${offset 10}${color}Total: ${color white}${totalup eth0}
${color slate grey}${downspeedgraph eth0 25,200 000000 00ff00}
${color slate grey}${upspeedgraph eth0 25,200 000000 0000ff}
${color #0077ff}@Connections@
$color Outbound: ${tcp_portmon 32768 61000 count}
$color Inbound: ${tcp_portmon 1 32767 count}
${color #0077ff}Outbound Connection ${alignr} Port$color
${tcp_portmon 32768 61000 rip 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
${tcp_portmon 32768 61000 rip 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
${tcp_portmon 32768 61000 rip 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
${tcp_portmon 32768 61000 rip 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 5}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 6}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 7}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 8}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 9}
${tcp_portmon 32768 61000 rip 4} ${alignr} ${tcp_portmon 32768 61000 rservice 10}
5. Zapisujemy plik.
6. W konsolce wpisujemy conky. Teraz na pulpicie powinien wam się ukazać monitor systemu(informację o procesorze, RAM-ie, adresie IP, dyskach itp).
7. Jeżeli conky mruga na ekranie to otwieramy jako root plik konfiguracyjny /etc/X11/xorg.conf i dopisujemy do Section "Module" wpisz następującą linijkę:
Load "dbe"
8. Po "Load" musi być tabulator nie spacja!
9. Restartujemy X'y(Ctrl+Alt+Backspace)
10. Logujemy się ponownie i uruchamiamy conky.
11. Teraz już nie powinno mrugać, a jeśli dalej dzieje się tak samo to sprawdź czy w configu conky masz linijkę:
double_buffer yes
12. Dla Gnome musi zostać dodana dodatkowa sekcja w configu conky:
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
13. Teraz już powinno być wszystko dobrze. Jeśli dalej występuje taki problem(jeśli posiadasz Compiz Fusion) to wyłącz Compiz Fusion. U mnie działa razem z Compiz-em.
Zapraszam do komentowania!
niedziela, 29 sierpnia 2010
Ukrywanie IP?
Wiele osób pytało mnie jak ukryć adres IP swojego komputera, ale im nie wystarczyło powiedzieć, że się tego nie da zrobić, ponieważ nie istnieje jeszcze metoda do ukrywania adresu IP! Można go jedynie zamaskować za pomocą różnych programów lub serwerów proxy! Nie da się ukryć adresu IP! Proszę zapamiętajcie, że nie da się ukryć adresu IP, ale da się go zamaskować! Dziękuję.
Zapraszam do komentowania!
Prosty program w WinAPI
Autor Ivor Horton, ale niestety miałem problemy z tym kodem, ponieważ szanowny autor już od wersji swojej książki z 2005 pod tytułem "Beginning Visual C++ 2005" przez "Beginning Visaul C++ 2008" aż do "Beginning Visual C++ 2010" robi ten sam błąd. Kod programu umieszczam poniżej z komentarzami gdzie są błędy:
// Cw11_01.cpp Natywny program Windows, wyświetlający tekst w oknie. #includeLRESULT WINAPI WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // Tutaj wstaw kod funkcji WinMain() (Listing OFWIN_1). // Listing OFWIN_1 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX WindowClass; // Struktura przechowująca atrybuty okna. static LPCTSTR szAppName = L"OFWin"; // Zdefiniuj nazwę klasy okna i tutaj pokazywany jest błąd przez kompilator Visual C++, aby to naprawić trzeba usunąć literkę "L" sprzed tekstu. HWND hWnd; // Uchwyt okna. MSG msg; // Struktura komunikatu Windowsa. WindowClass.cbSize = sizeof(WNDCLASSEX); // Ustaw rozmiar struktury. // Przerysuj okno, jeśli zostanie zmieniony jego rozmiar. WindowClass.style = CS_HREDRAW | CS_VREDRAW; // Zdefiniuj funkcję obsługującą komunikaty. WindowClass.lpfnWndProc = WindowProc; WindowClass.cbClsExtra = 0; // Nie ma dodatkowych bajtów po strukturze klasy okna WindowClass.cbWndExtra = 0; // ani po instancji okna. WindowClass.hInstance = hInstance; // Uchwyt instancji aplikacji. // Ustaw domyślną ikonę aplikacji. WindowClass.hIcon = LoadIcon(0, IDI_APPLICATION); // Ustaw standardową strzałkę jako kursor. WindowClass.hCursor = LoadCursor(0, IDC_ARROW); // Ustaw szary pędzel dla koloru tła. WindowClass.hbrBackground = static_cast<HBRUSH>(GetStockObject(GRAY_BRUSH)); WindowClass.lpszMenuName = 0; // Brak menu. WindowClass.lpszClassName = szAppName; // Ustaw nazwę klasy. WindowClass.hIconSm = 0; // Domyślna mała ikona. // Zarejestruj klasę okna. RegisterClassEx(&WindowClass); // Teraz można utworzyć okno. hWnd = CreateWindow( szAppName, // Nazwa klasy okna. L"Podstawowe okno – trudny sposób", // Tytuł okna i tutaj pokazywany jest błąd przez kompilator Visual C++, aby to naprawić trzeba usunąć literkę "L" sprzed tekstu.
WS_OVERLAPPEDWINDOW, // Styl okna (tu: nakładkowy). CW_USEDEFAULT, // Domyślna pozycja lewego górnego... CW_USEDEFAULT, // ...narożnika okna jako x, y... CW_USEDEFAULT, // Domyślny rozmiar okna. CW_USEDEFAULT, // ... 0, // Brak okna głównego (macierzystego). 0, // Brak menu. hInstance, // Uchwyt instancji programu. 0 // Brak dodatkowych danych tworzenia okna. ); ShowWindow(hWnd, nCmdShow); // Wyświetl okno. UpdateWindow(hWnd); // Powoduje przerysowanie obszaru klienta. // Pętla komunikatów. while(GetMessage(&msg, 0, 0, 0) == TRUE) // Pobieraj komunikaty. { TranslateMessage(&msg); // Przetłumacz komunikat. DispatchMessage(&msg); // Wyślij komunikat. } return static_cast<int>(msg.wParam); // Koniec, więc zwróć do Windowsa. } // Tutaj wstaw kod funkcji WindowProc() here (Listing OFWIN_2) // Listing OFWIN_2 LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hDC; // Uchwyt kontekstu wyświetlacza. PAINTSTRUCT PaintSt; // Struktura definiująca obszar do przerysowania. RECT aRect; // Prostokąt do odnowienia. switch(message) // Przetwarzaj wybrane komunikaty. { case WM_PAINT: // Komunikat o przerysowaniu okna. hDC = BeginPaint(hWnd, &PaintSt); // Przygotuj rysowanie okna. // Pobierz koordynaty lewego górnego i prawego górnego narożnika obszaru klienta. GetClientRect(hWnd, &aRect); SetBkMode(hDC, TRANSPARENT); // Ustaw tryb tła tekstu. // Rysuj w obszarze klienta. DrawText( hDC, // Uchwyt kontekstu urządzenia. L" By dojść do źródła, trzeba płynąć pod prąd.", //i tutaj pokazywany jest błąd przez kompilator Visual C++, aby to naprawić trzeba usunąć literkę "L" sprzed tekstu -1, // Oznacza łańcuch zakończony znakiem null. &aRect, // Prostokąt, w którym ma zostać narysowany tekst. DT_SINGLELINE| // Format tekstu — pojedyncza linia. DT_CENTER| // — Wyśrodkowany w linii. DT_VCENTER); // — Linia wyśrodkowana w aRect. EndPaint(hWnd, &PaintSt); // Zakończ przerysowywanie. return 0; case WM_DESTROY: // Okno jest niszczone. PostQuitMessage(0); return 0; default: // Każda inna wiadomość, o której nie chcemy wiedzieć, więc wywołaj domyślne przetwarzanie komunikatów. return DefWindowProc(hWnd, message, wParam, lParam); } }
Listing pobrałem ze strony helion.pl.
Subskrybuj:
Posty (Atom)