ZaDiS http://godlark.com/ Strona o programowaniu i nie tylko pl Jak zmusić użytkowników do wylogowania się, w Linuksie? index.php/home/post/223 index.php/home/post/223 index.php/home/post/223#comments Fri, 03 Sep 2010 16:28:29 +0200 Sławomir Domagała Napisałem skrypt w Bashu, który zmusi wszystkich zalogowanych użytkowników do wylogowania się. Musiałem napisać, ponieważ mój skrypt do robienia automatycznych kopi zapasowych, o którym pisałem w Anacron + Tar = automat do robienia kopii zapasowych, wykłada się, gdy użytkownik robi coś w archiwizowanych katalogach. Użytkownik pewnie by się wylogował... gdyby pamiętał, że akurat tego dnia jest robiona kopia zapasowa.

Problem polega na tym, że użytkownik może być zalogowany na kilku terminalach tekstowych i na jednym graficznym, więc nie możemy ograniczyć powiadamiania tylko do jednego ostatnio używanego terminala, a tak by było w przypadku komendy wall. Ja chcę mieć pewność, że użytkownik mnie zauważy niezależnie od tego, co robi i że mnie posłucha (czyli się wyloguje).

glowny_skrypt.sh:
#!/bin/sh

command="xterm -e sh -c 'dialog --title "BACKUP SYSTEMU!" --backtitle "BACKUP SYSTEMU!" --msgbox "Wyloguj sie, robiona jest kopia zapasowa systemu i utworz plik /root/ready" 7 45;';";

no_root=1;
while [ $no_root != 0 -o ! -f '/root/ready' ]; do

Mamy tu początek pętli while, której zadaniem jest męczenie użytkowników dopóki dopóty nie istnieje plik /root/ready lub jest zalogowany co najmniej jeden zwykły użytkownik. Można tu jeszcze zauważyć zmienną command, którą dopiero później wykorzystamy.

	no_root=0;
	who > /root/temp;
	pies=`gawk -f s_gawk /root/temp`;
	lines=${pies##* };
	i=0;
	while [ $i -lt $lines ]; do

Liczba użytkowników zostaje ustawiona na 0. Wynik polecenia who, który może wyglądać tak, jest zapisywana do pliku /root/temp. Na tym pliku z kolei wykonuje swoje działanie skrypt gawka s_gawka (który później omówię), a jego wynik zapisywany jest do zmiennej pies (sorki za nazwę zmiennej ;) ). Do zmiennej lines zapisywane są znaki znajdujące się po ostatniej spacji w zmiennej pies - liczba linii w pliku /root/temp. Rozpoczynana pętlę wewnętrzną, która wykona się tyle razy, ile jest linii.

		echo $i;
	
		user=${pies%% *};
		echo $user;
		pies=${pies#* };

Znaki znajdujące się przed pierwszą spacji zapisywane są do zmiennej user i następnie w pies usuwamy te znaki.

		terminal=${pies%% *};
		echo $terminal;
		pies=${pies#* };

Tutaj tak samo jak powyżej, znaki przed pierwszą spacją do zmiennej terminal i następnie w pies usuwane są te znaki.

		display=${pies%% *};
		display=${display%%)};
		display=${display##(};
		echo $display;
		pies=${pies#* };

Do zmiennej display wstawiane są znaki znajdujące się przed pierwszą spacją, później usuwane są znaki '(' ')' z początku i końca zmiennej display i mamy numer wyjścia X-ów. Zmienna pies skracana jest o te znaki.

		if [ $user != "root" ]; then
			no_root=1;
		fi

Jeśli nasz użytkownik nie nazywa się "root", to zmienną no_root ustawiamy na 1.

		if [ $terminal = "tty7" ]; then
			export DISPLAY=$display
			su -c "$command" $user;
		else
			echo "BACKUP SYSTEMU! Wyloguj sie, robiona jest kopia zapasowa systemu i utworz plik /root/ready" > /root/temp1;
			write $user $terminal < /root/temp1;
		fi
		i=$((i+1));
	done

Jeśli terminal to tty7 (zazwyczaj graficzny używany przez X-y) to użytkownika zostanie podenerwowany okienkiem (na odpowiednim DISPLAY), jeśli natomiast jest to zwykły terminal, to zostanie podenerwowany przez wiadomość wysłaną na terminal (niezwykle denerwujące jak się używa elinks, MC lub innych z tekstowym GUI :D ).

	rm /root/temp1;
	sleep 120;

Usuwany jest plik tymczasowy i użytkownik ma 120 sekund spokoju.

done
rm /root/temp;
rm /root/ready;

Kończona jest praca, skrypt usuwa niepotrzebne pliki. Po tym kodzie możemy np. dodać kod odpowiedzialny za robienie kopi zapasowej.

Teraz pora na nasz skrypt napisany w gawku. Jest on bardzo prosty ;) BEGIN wykonuje się na początku wykonania skryptu, END na końcu skryptu, a środek dla każdego wiersza. W zmiennej licznik przechowywana jest ilość liczby wierszy, którą drukujemy na końcu. Dla każdego wiersza drukujemy wartości pól 1, 2, 5 oddzielone spacją, wiersze od siebie również są oddzielane spacją.

s_gawk:
BEGIN { licznik = 0 } 
{printf "%s %s %s ", $1, $2, $5}
{licznik=licznik+1} 
END { printf "n%d",licznik }

Podsumowanie

Pewnie zastanawiasz się, po jaką cholerę napisałem ten wpis. Najważniejszym powodem jest to, że stworzenie go zajęło mi dużo czasu, czyli jest to coś, czym warto się pochwalić. Drugim jest to, że skrypt pokazuje potęgę podstawowych narzędzi Linuksa. No i bym zapomniał, chciałem się po prostu podzielić wiedzą i przydatnym skryptem, który pewnie będzie wiele razy wykorzystywany.

]]>
Blog Day 2010 index.php/home/post/224 index.php/home/post/224 index.php/home/post/224#comments Tue, 31 Aug 2010 23:32:55 +0200 Sławomir Domagała Blog Day 2010

Dzisiaj — 31 Sierpnia jest Blog Day, czyli Dzień Bloga. W ten dzień każdemu bloger powinien opublikować wpis na swoim blogu i w tym wpisie zachęcić czytelników do poznania 5 ciekawych blogów. Najlepiej gdyby te blogi o innej tematyce i z innej kultury. Powinno się również powiadomić 5 innych blogerów o zabawie w Blog Day, jednak ja dowiedziałem się zbyt późno, że dzisiaj jest 31 Sierpnia.

W tym roku skolekcjonowałem w moim czytniku RSS dużo nowych blogów, więc trudno mi było wybrać pięć blogów. Jednak mam nadzieje, że mój wybór wam się spodoba i wasza wizyta na tych blogach nie skończy się tylko na przeczytaniu jednego wpisu.

Eloars Corner

Blog informatyczny pisany przez prawdziwego mężczyznę (czyt. prawdziwy mężczyzna lubi klocki LEGO). W tym blogu zachwyciło mnie to, że autor nie koncentruje się napisaniu newsów o kolejnych nowościach, lecz na wpisach o dłuższej przydatności.

Fluent in 3 Months

Czyli płynność w 3 miesiące. Blog Benny'ego - irlandzkiego poligloty, który obecnie płynnie komunikuje się w 10 językach. Jest to blog o nauce języków obcych, można tutaj znaleźć fachowe porady dotyczące tego, jak się uczyć języków obcych. Autor również napisał e-booka na ten sam temat "Language Hacking Guide", który jest również dostępny w języku polskim.

Rentier

Blog o niezależnym rentierstwie, czyli życiu w oparciu o relatywnie pasywny dochód, niezależności czasowej i niezależności od lokalizacji – mobilnym stylu życia. Można również tu znaleźć wpisu o rozwoju osobistym oraz wpisy motywacyjne. Blog bardzo przydany, jeśli chce się wstanąć na nogi lub chce się wytyczyć własną ściężka, dzięki mobilnemu stylowi życia.

Oszczędzanie pieniędzy i nie tylko…

Autor pisze o obniżaniu kosztów życia, powiększaniu zarobków oraz inwestowaniu nadwyżek finansowych. Jego metody, a raczej miejsca, w których oszczędza, mogą wydawać się dziwne, jednak dzięki temu zaszedł tam, gdzie nie zaszli ci, co mówią, że takie oszczędzanie to skąpstwo (ja się z nimi nie zgadzam, nie jest to tak bardzo radykalne).

Alleluj … i do przodu

Dość młody blog, jednak autor dobrze wystartował. Jakub pisze o tym, co nam się może w życiu przydać, czyli o zwiększeniu produktywności, osiąganiu celów, motywacji, czyli ogólnie o rozwoju osobistym. Jednak 5 miesięcy to za mało, że podsumowywać bloga ;)

]]>
Aby sobie poradzić z '<' w formularzach, nie potrzeba edytora WYSWIG index.php/home/post/222 index.php/home/post/222 index.php/home/post/222#comments Mon, 30 Aug 2010 18:15:36 +0200 Sławomir Domagała Poprawianie znaku '<' na '&lt;' pomiędzy znacznikami <code> i </code>, gdzie miałem wklejony kod jakiegoś programu, przy każdej aktualizacji postu stało się już zbyt denerwujące. Postanowiłem się za to jakoś zabrać, jeśli ja to z automatu robię, to i komputer będzie potrafił to zrobić. Musiałem sam napisać odpowiedni kod, bo do takiego banalnego zadania nie zatrudnia się rozbudowanych edytorów WYSIWYG. Bez mojego zmysłu programistycznego pewnie zrobiłbym to w PHP, jednak JavaScript jest lepszym rozwiązaniem (odpowiedź w zakończeniu).

Skryptowanie w JavaScript

Całość mojego kodu znajduje się w pliku forms.js, jednak oprócz utworzenia tego pliku, trzeba w sekcji nagłówkowej dodać linijkę: <script type="text/javascript" src="ściezka_do_pliku/funkcje.js"></script> i do elementu <body> dodać atrybut onload="setForms()". Poniżej omówię działanie wszystkich funkcji umieszczonych w tym pliku.

function setForms() {
	var forms = window.document.getElementsByTagName('form');
	for(i = 0; i < forms.length; i++) {
		forms[i].setAttribute("onSubmit", "validateForm(this)");
	}
}

Funkcja setForms dla każdego formularza, jaki znajdzie w ciele dokumentu HTML, ustawia wartość atrybutu onSubmit na validateForms(this). Czyli przy wysyłaniu formularza zostanie wykonana funkcja validateForms, która będzie posiadała referencję do tego formularza.

function validateForm(form) {
	var textareas = form.getElementsByTagName('textarea');
	for(var i = 0; i < textareas.length; i++) {
		modifyTextArea(textareas[i]);
	}
	return true;
}

Zadaniem powyższej funkcji jest wywołanie funkcji modifyTextArea dla każdej znalezionego elementu textarea w formularzu.

function modifyTextArea(textarea) {
	var from = 0;
	while (textarea.value.indexOf('<code>', from) >= 0) {
		from = textarea.value.indexOf('<code>', from);
		var start = from+6; //tekst '<code>' ma 6 znaków
		var end = textarea.value.indexOf('</code>', from);
		if(end >= 0)from = end;
		else {
			end = textarea.value.length;
			from = end;
		}
		textarea.value = inCode(textarea.value, start, end);
	}
}

Funkcja modifyTextArea jest trochę bardziej skomplikowana. Główna pętla się wykonuje, dopóki znajdywane są znaczniki <code>. Aby odnaleźć coś w stringu trzeba napisać nasz_string.indexOf('coś', 0), gdzie drugi parametr wskazuje, od którego znaku zacząć poszukiwanie. Później wewnątrz pętli szukany jest znacznik zamykający </code>, jeśli nie zostanie znaleziony (indexOf zwraca wartość mniejszą od zera), wartość from - czyli odkąd zacząć kolejne poszukiwanie znacznika <code> - ustawiana jest na długość stringa (lepiej zakończyć pętlę, gdy kod HTML nie jest poprawny). Później wywoływana jest funkcja inCode, której przekazywana jest wartość textarea, indeks startowy i indeks końcowy.

function inCode(string, start, end) {
	var sub_string = string.substring(start, end);
	sub_string = sub_string.replace(/</g, '<');
	string = string.substring(0, start) + sub_string + string.substring(end);
	return string;
}

Podmiana wszystkich cos1 na cos2 w jakimś stringu w JavaScript: jakis_string.replace(/cos1/g, 'cos2'). W JavaScript używa się wyrażeń regularnych, bez tego 'g' podmieniło by tylko jeden ciąg. Jak dla mnie mogłoby być to bardziej intuicyjne.

Podsumowanie

Nie odpowiedziałem na jedno niezawarte pytanie w rozwinięciu tego postu, dlaczego rozwiązania w PHP byłyby złe. Nie mogę zrobić tego w kontrolerze, bo musiałbym w każdej funkcji obsługującej formularz wykonywać funkcję, która by mi zamieniała '<' na '&lt;'. Czyli z tego wynika, że musiałbym zrobić to gdzieś głębiej, czyli w modelu. Jednak modelu nie powinno obchodzić, czy dane są typu HTML, czy zwykłym tekstem itd. I w widoku tego nie zrobię, bo widok nie zajmuje się przetwarzaniem danych. Jedynie rozsądne rozwiązanie to JavaScript ;) lub utworzenie klasy odpowiedzialnej za przetwarzanie formularzy, która byłaby na stałe powiązana z jakimś widokiem. Zrobiłem to pierwsze zgodnie z zasadą BUZI lub KISS.

]]>
Włączenie kompresji GZIP nie jest łatwe index.php/home/post/221 index.php/home/post/221 index.php/home/post/221#comments Sun, 22 Aug 2010 22:12:25 +0200 Sławomir Domagała Co może być takiego trudnego we włączeniu kompresji GZIP na stronie? Prawdopodobnie nic, jeśli ma się dostęp do pliku php.ini lub dyrektywy "php_value" w pliku .htaccess działają. Jednak na serwerze wirtualnym (w większości przypadków) takiej wygody nie mamy. A i żeby nie było nie chodzi mi tu o kompresje plików z końcówką .php, bo to się włącza kilkoma linijkami. Rzecz rozbija się o kompresję plików .css, .js, czyli plików nieprzetwarzanych przez interpreter php.

Kompresja plików .css, .js itd.

Korzystam z narzędzia Google -> Narzędzia dla Webmasterów i tam znalazłem poradę, żeby włączyć kompresję gzip na stronie. O co chodziło wiedziałem, ale nigdy o tym nie myślałem. Udaje się do Wujka Google w poszukiwaniu wiedzy i trafiam na stronę http://www.kocjan.net/publikacje.html?id=10. Rady bardzo przydane, nie zaprzeczam, jednak już na początku napotykam na przeszkodę. Nie działa:

AddType application/x-httpd-php .css .js  
php_value auto_prepend_file gzip.php

Pierwsza linijka działa, ale druga nie chce. Była już noc, więc głowy nie chciałem zawracać supportowi ovh i szukałem sposobu jak to ominąć. Zamiast tych dwóch linijek wklejamy linijki:

RewriteCond %{REQUEST_URI} ^(.+).(css|js)
RewriteRule (.*) gzip.php?f=$1

Te linijki każde żądanie pobrania pliku .css, .js przemieniają w żądanie pobrania pliku gzip.php (nie jest to widoczne dla użytkownika). W zmiennej "f" podawana jest nazwa oryginalnego pliku.

Teraz musimy utworzyć katalog gzipped i ustawiamy prawa dostępu 777. Muszą być one ustawione na 777, aby nasz skrypt miał prawo tworzyć tam pliki i katalogi. Później tworzymy plik gzip.php (w tym samym katalogu, co znajduje się zmodyfikowany plik .htaccess).
Poniższa część tego pliku odpowiada za wyłączenie raportowanie błędów i ostrzeżeń oraz za pobranie daty ostatniej modyfikacji naszego pliku.

<?php
error_reporting(0);
$file=$_GET['f'];
$file_last_modification=filemtime($file);
$gm_file_last_modification=gmdate("D, d M Y H:i:s T", $file_last_modification);

Porównujemy datę ostatniej modyfikacji pliku zapisanego w cache przeglądarki z datą modyfikacji pliku na serwerze:

if(isSet($_SERVER['HTTP_IF_MODIFIED_SINCE']) && $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gm_file_last_modification){
	header("HTTP/1.0 304 NotModified");
	header('ETag: "'.md5($file.$file_last_modification).'"');
	
	include($_GET['f']);
	exit;
}

Wysyłamy odpowiednie nagłówki:

if( end(explode('.',$file))=='css') header('Content-type: text/css;charset:UTF-8');
else header('Content-type: text/javascript;charset:UTF-8');

header('Last-Modified: '.$gm_file_last_modification);
header('ETag: "'.md5($file.$file_last_modification).'"');

Sprawdzamy, czy przeglądarka akceptuje kompresję. Jeśli nie obsługuje to wysyłamy zwykłą zawartość naszego pliku. W przeciwnym wypadku tworzymy – jeśli nie istnieją – podkatalogi (np. dla pliku /images/cats/kitten.jpg tworzy katalog /gzipped/images/cats), następnie sprawdzamy czy skompresowana wersja pliku istnieje i czy jest aktualna. Jeśli nie to tworzymy skompresowaną wersję pliku. Później wysyłamy odpowiednie nagłówki i zawartość skompresowanej wersji naszego pliku.

if(isSet($_SERVER['HTTP_ACCEPT_ENCODING']) && substr_count($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip')){
	$filegz='gzipped/'.$file.'.gz';
	$makeNewGz=false;
	
	while(strpos($file, '/', $old_pos+1) !== false) {
		$pos = strpos($file, '/', $old_pos+1);
		$dirname .= substr($file, $old_pos+1, $pos-$old_pos);
		if(!file_exists($dirname)) {
			if(! mkdir($dirname))die("Nie udało się utworzyć katalogu $dirname");
		}
		$old_pos = $pos;  
	}

	if(file_exists($filegz)){
		$gzip_last_modification=filemtime($filegz);
		if($gzip_last_modification+10<$file_last_modification){
			$makeNewGz=true;
		}
	}
	else{
		$makeNewGz=true;
	}

	if($makeNewGz===true){
		$handle=gzopen($filegz,'w9');
		gzwrite($handle,file_get_contents($file));
		gzclose($handle);
		chmod($filegz,0666);
	}

	header('Content-Encoding: gzip');
	header('Vary: Accept-Encoding');
	echo file_get_contents($filegz);
	
	include($_GET['f']);
	exit;
}
else include($_GET['f']);

Kompresja gzip plików napisanych w PHP

Włączenie kompresji na stronie, której silnik napisany jest php, jest bardzo proste, wystarczy dodać przed jakimkolwiek wysłaniem danych do przeglądarki kod:

if(!ini_get('zlib.output_compression')){
	if(substr_count($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip')){
		ini_set('zlib.output_compression_level',1);
		ob_start('ob_gzhandler');
	}
}

Trzeba jednak uważać, aby dwa razy nie włączyć kompresji, bo wtedy dostaniemy krzaczki. W przypadku korzystaniu z jakiegoś frameworka warto się upewnić, czy nie ma możliwości włączenia kompresji gzip w ustawieniach - zawsze to wygląda czytelniej.

Podsumowanie

Taką kompresję naprawdę warto włączyć na każdej stronie, jest z nią mało zachodu, a oszczędności duże. U mnie plik ze style.css waży 4.7 KB, a skompresowany 1.3 KB, czyli 3.6 raza mniej.
Warto tutaj jednak zwrócić na poziomy kompresji. Dla treści dynamicznie generowanej, czyli zawartej w pliku z rozszerzeniem .php, dałem kompresji o poziomie 1 - najszybsza i dająca rozsądne oszczędności. Nie warto ustawiać tutaj kompresji największej, bo oszczędności większe o wiele nie będę, za to obciążymy o wiele bardziej procesor. Jednak dla treści statycznej, czyli pliki .css, .js możemy ustawić najwyższy poziom kompresji 9, ponieważ rzadko będziemy kompresować, częściej będziemy wczytywać skompresowane już wersje tych plików.

Kompresja to tylko jeden ze sposobów optymalizacji strony, o innych postaram się wspomnieć, jeśli czas i umiejętności pozwolą.

]]>
PHP - Uciążliwa funkcjonalność, czyli ostrożnie z referencjami w foreach index.php/home/post/220 index.php/home/post/220 index.php/home/post/220#comments Wed, 18 Aug 2010 15:57:26 +0200 Sławomir Domagała Ostatnio przez problem referencji w foreach i burzę mój blog był nieużywalny przez prawie pół dnia. Kod mojego CMS jest bardzo rozbudowany, więc uchwycenie tego błędu było bardzo trudne, lecz najgorsze chyba było to, że nawet bym tego nie podejrzewał o powodowanie się wysypywania kodu. To jest bardziej nieuchwytne niż niezaincjowawany wskaźnik w C++.

Tablica i referencje

Aby zrozumieć istotę tego tajemniczego błędu, musimy zrozumieć sztuczkę związaną z tablicami i referencjami. Popatrzcie na poniższy kod.

$a = 5;
$b = 10;
$tab1 = array(& $a, & $b);
$tab2 = $tab1; // kluczowa linia
$tab1[0]=-1;
print_r($tab1);
print_r($tab2);
Prawidłowo tylko pierwsza tablica powinna zostać zmieniona, jednak widzimy, że i pierwsza i druga tablica została zmieniona. Na początku nie rozumiałem, dlaczego tak zostało zrobione, jednak zrozumiałem gdy zacząłem to wykorzystywać. Mamy funkcję, która jako argument przyjmuje tablicę. Jednak chcemy, by tylko niektóre elementy tej tablicy zachowały wartość, którą uzyskały w funkcji. Nie przekażemy przecież całej tablicy jako referencji.

Foreach i referencje

Teraz popatrzmy na przykład z pętlą foreach:
function glupia_funkcja($tab) {
	foreach($tab as &$value) {
		$value = "zwierze";
	}
	echo "<br />Zmienilismy lokalna kopie naszej tablicy<br />";
	print_r($tab);
}

$tablica = array('pies', 'kot', 'malpa', 'jaszczurka', 'kon');
echo "<br />Tablica przed zmianami w petli<br />";
print_r($tablica);
foreach($tablica as &$value) {
	$value = '.'.$value.'.';
}
echo "<br />Tablica po zmianach w petli<br />";
print_r($tablica);
glupia_funkcja($tablica);
echo "<br />Jednak chyba nie tylko lokalna<br />";
print_r($tablica);
Jak ten kod wygląda niewinnie. No o co tu może chodzić? Przecież nasza tablica nie została zainicjowana żadną referencją po drodze. Ja w bardziej rozbudowanym kodzie, gdzie nie wszystko jest tak dobrze widoczne, oj długo szukałem, co jest przyczyną. Naszą winowajczynią jest nie kto inny, jak referencja użyta w pętli foreach. Popatrzmy teraz na inny kod
function glupia_funkcja($tab) {
	foreach($tab as &$value) {
		$value = "zwierze";
	}
	echo "<br />Zmienilismy lokalna kopie naszej tablicy<br />";
	print_r($tab);
}

$tablica = array('pies', 'kot', 'malpa', 'jaszczurka', 'kon');
echo "<br />Tablica przed zmianami w petli<br />";
print_r($tablica);
for($i = 0; $i < count($tablica); $i++) {
	$value = &$tablica[$i];
	$value = '.'.$value.'.';
}
echo "<br />Tablica po zmianach w petli<br />";
print_r($tablica);
glupia_funkcja($tablica);
echo "<br />Jednak chyba nie tylko lokalna<br />";
print_r($tablica);

Tutaj zamiast pętli foreach użyliśmy pętli for, również użyliśmy sposobu w jaki prawdopodobnie nasza pętla foreach mogłaby być rozwinięta przez interpreter. I problem nadal występuje, chociaż wyraźnie widać, że (pozornie) nie robimy nic złego.
$value staje się referencją do $tablica[$i] - to jest jasne. Jednak z jakiejś przyczyny interpreter sobie myśli, że $tablica[$i] jest referencją do $value. Problem występuje tylko w ostatnim elemencie, ponieważ gdy $value staje się referencją do $tablica[$i+1], to $tablica[$i] przestaje być referencją do $value. Czyli ostatni element zostaje na zawsze referencją do $value.

Nie miałoby to miejsca, gdyby w php były obecne zasięgi lub gdyby programiści interpretera pomyśleli o unset($value) na końcu pętli foreach lub gdyby interpreter nie czynił $tablica[$i] referencją do $value.
No i mamy przyczynę problemu, usunięcie jej nie wydaje już się takie trudne, wystarczy za pętlą for dodać: unset($value);

Moje rozwiązanie

W PHP 5.3 można to uczynić bardziej automatycznym, korzystając z domknięć:

function for_each(&$table, $function) {
	foreach($table as $key => &$value) {
		$optional = $function(&$value, &$key);
		if(isSet($optional))$table[$key] = $optional;
	}
}
Tutaj rozbudowany przykład wykorzystania mojej funkcji:
function for_each(&$table, $function) {
	foreach($table as $key => &$value) {
		$optional = $function(&$value, &$key);
		if(isSet($optional))$table[$key] = $optional;
	}
}
$table = array();
$table['kot'] = 1;
$table['pies'] = 2;
$table['malpa'] = 3;
$func = function ($value, $key) {
	$temp = $key;
	$key = $value;
	return $temp;
};
for_each($table, $func);
print_r($table);

Podsumowanie

Problem generalnie bardziej związany z cechami języka php, czyli:

  • brakiem zasięgów, czyli brak wykonania funkcji unset() na wartościach zadeklarowanych w pierwszej linijce pętli
  • głupią jedną cechą referencji, np. w takim przypadku $value = &$value2, $value2 również staje się referencją do $value.
Czy mieliście podobne problem w php, czyli takie, którą są uciążliwą funkcjonalnością? To użytkownicy języka tworzą język i mówię tu także o języku programowania, więc chyba zgłoszę to jako feature lub jako błąd.

]]>
Dlaczego i jak nie płacić podatków? index.php/home/post/219 index.php/home/post/219 index.php/home/post/219#comments Sat, 14 Aug 2010 22:32:56 +0200 Sławomir Domagała Benjamin Franklin powiedział, że tylko dwie rzeczy w życiu są pewne - śmierć i podatki. Z tym, że śmierci nie da się uniknąć i są dobre powody, żeby jej nie unikać. Podatki jednak są tworzone przez ludzi i sposób ich pobierania jest nigdy nie będzie doskonały, więc da się je legalnie ominąć, o czym wspomnę później. Są też dobre powody, dla których warto unikać podatków w krajach takich jak Polska tzn. w krajach z wysokim socjałem.

Jak niepłacenie podatków przyczynia się do rozwoju kraju?

Owszem podatki są potrzebne, ale byłoby dobrze, gdyby pobieranie ich nie wiązało się z wysokimi kosztami. Tymczasem w Polsce zwiększa się i podatki i armię urzędników, co podwójnie złe, bo po pierwsze ci urzędnicy mogliby, gdzie indziej pracować, przyczyniając się do zwiększenia dobrobytu państwa, a po drugie zabierane są pieniądze ludziom, którzy mogliby te pieniądze zainwestować w rozwój państwa. Zaoszczędzone pieniądze możemy wpłacić na konto jakiejś fundacji charytatywnej, zainwestować w coś, co przyczyni się do rozwoju kraju. I to są właśnie przyczyny, dla których warto legalnie ominąć płacenie podatków i przyczynić się do upadku socjału.

Wykorzystanie rajów podatkowych do niepłacenia podatków

Ostatnio rozmawiałem z kolegą na temat podatków i tak mnie później naszło, aby poszukać w google pewnych rzeczy. Z tego, co się dowiedziałem, podatki ominąć podatki można korzystając z rajów podatków.

Założenie bezpośrednio firmy w raju podatkowym bezpośrednio lub nabycie jej akcji, jest nieopłacalne, bo trzeba się starać o zezwolenie dewizowe (http://www.raje-podatkowe.pl/zezwolenie-dewizowe.html). Można jednak założyć fundację prywatną w innym kraju, np. Szwajcaria, Liechenstein, bo nie trzeba starać się o żadne zezwolenia. Stać się beneficjentem tej fundacji i dopiero za pomocą tej fundacji prywatnej założyć spółkę offshorową w raju podatkowym.

Dla tej firmy zakładamy konto bankowe w jakimś kraju, gdzie tajemnica bankowa ma jakieś znaczenie (np. w Szwajcarii). I teraz jeśli ta firma wykonuje usługi, które nie będą podlegały podatku od dochodów osiągniętych przez spółki zagraniczne za usługi wykonane w Polsce, to tyle, co musimy zrobić. Z tego, co wiem, to np. sprzedaż towarów przez Internet nie podlegała by temu podatkowi. Jednak są wątpliwości dotyczącego tego, co się dzieje, gdy zamawiania usługi następuje przez serwer umieszczony w Polsce, dlatego hosting lepiej zamówić u zagranicznego dostawcy.

Gdy jednak nasza firma miałaby wykonywać usługi budowlane, to lepiej stworzyć w Polsce drugą firmę, która rzeczywiście to robi. Jednak ta firma w Polsce ponosiła, by duże wydatki, np. prosił naszą firmę z raju podatkowego o prowadzenie serwera ze stroną internetową (najlepiej serwera, który nie jest w Polsce), wykonanie logo, doradztwo podatkowe itd. Usługi, które byłyby wiarygodne, jednak nie podlegałyby podatkowi dochodowemu od usług wykonywanych w Polsce przez firmy zagraniczne. Dzięki wysokim kosztom firma budowlana miałaby wysokie koszty, niskie dochody, a więc płaciłaby bardzo niskie podatki.

Teraz pozostaje transfer pieniędzy z konta firmy zagranicznej do Polski, tak żeby nie podlegały PIT-owi. Tutaj już nie mam pomysłu jak to wykonać.

Sprawiedliwe i tanie podatki

Jeśli jest konkurencja, to czego mam nie wybierać kraju, gdzie mogę zapłacić mniejsze podatki (czyt. podatek ryczałtowy lub nic). Według mnie najlepszym podatkiem byłby podatek od nieruchomości, jest łatwy w kontrolowaniu i pobieraniu, wymaga najmniej formalności, a więc pochłonie mało pieniędzy i ludzkiego zaangażowaniu i produktywności. Ludzką produktywność można, gdzie indziej ukierunkować.

Przeanalizujmy obecne podatki:

  • VAT - wymaga kas fiskalnych, tony papieru, tony druku i urzędników kontrolujących czy wszystkie faktury się zgadzają. Zmiana VAT-u pociąga za sobą przeprogramowanie kas fiskalnych, a kasy fiskalnej pracownik sklepu nie może przeprogramować tylko człowiek z odpowiednimi uprawnieniami.
  • PIT - wymaga kontroli kont bankowych, obserwowania ludzi, którzy wydają więcej niż mają napisane w dochodach, ludzi, którzy umieją wypełniać, tony formularzy do wypełnienia, mnóstwo zmarnowanego czasu, obeznania we wszystkich zawiłościach
  • CIT - wymaga kontroli firm, czy wydatki nie są pozorowane, czy firma nie próbuje zaniżyć swoich dochodów, czy nie próbuje zawyżyć swoich kosztów, wymaga dokumentowanie każdej transakcji Właśnie w każdej średniej firmie musi być księgowy, bo zwykły człowiek nie ogarnąłby wszystkiego. A z księgowymi można by co innego zrobić. Również można by posłać w eter masę doradców podatków, a więc zachować masę pieniędzy.

Podsumowanie

Ja dopiero mam 17 lat, więc nie mam problemów z podatkami (i nie zamierzam ich mieć). Mój post skompilowałem z rozwiązań znalezionych w Internecie, jednak starałem się sprawdzić zgodność tych rozwiązań z prawem i nie pisałem o tych rzeczach, których zgodność jest wątpliwa.

Podsumowując:

  • niepłacenie podatków jest dobre dla społeczeństwa
  • podatki możemy ominąć, korzystając z rajów podatkowych
  • należy dążyć do tego, aby koszty pobierania podatków były jak najmniejsze
Do tych co przeczytali cały post: Czy zamierzasz omijać podatki? A może będziesz je płacić, bo masz lepsze kontrargumenty?

]]>
17 Urodziny index.php/home/post/218 index.php/home/post/218 index.php/home/post/218#comments Tue, 10 Aug 2010 23:00:00 +0200 Sławomir Domagała 8 dni temu obchodziłem swoje 17 urodziny i świętowałem je na swój sposób. Nie chciałem przesiedzieć w domu i czekać na to, aż mi ktoś złoży życzenia. Chociaż i tak jestem mile zaskoczony, bo na te urodziny chociaż coś dostałem i to nie tylko od współmieszkających. Jednak najbardziej i tak jestem ucieszony ze swojego prezentu.

Pojechałem do Rzeszowa rowerem, wstąpiłem do Auchana i trochę się powygłupiałem – przecież są moje urodziny. Później do Rzeszowa do dwóch galerii, trochę się po uśmiechałem do obcych dziewczyn (i mam sobie zapamiętać, żeby nie bać się zagadać do dziewczyn, nawet jak są w 3 osobowej grupie). Później byłem w parku, siedział tam dwudziesto-kilku letni facet, a obok niego stał rower, ja siedziałem na ławce obok i obok mnie też był rowerem, więc stwierdziłem, że można pogadać, ale facet powiedział, że jest zajęty :D (wyszło jak wyszło, ale liczy się odwaga). Gdy wracałem z Rzeszowa, wstąpiłem po tablicę korkową (aby zrobić „Tablicę motywacyjną”) do Auchana i miałem mały problemy z pierwszą pod względem uprzejmości obsługą tzn. obsługą w Auchanie (czyt. zapomniałem ometkować towar), ale mile zapamiętam to, jak przerwałem kierowniczce kazanie i z ironicznym uśmiechem wyciągnąłem paragon i powiedziałem: „O znalazł się paragon”. Pod koniec mojej przejażdżki spotkałem ładną dziewczynę i do niej zagadałem. Jeszcze o północy miałem ochotę się przejść na cmentarz, ale...

Chciałem sobie na urodziny dać trochę luzu, cieszyć się życiem. I dzięki temu moje urodziny się trochę przedłużyły tzn. zrozumiałem, że nia ma sensu gonić codziennie za czymś, jeśli się na ma na to ochoty lub czasu. Do moich urodzin próbowałem zrobić bardzo dużo rzeczy w jeden dzień i każdy dzień miał wyglądać tak samo. Teraz dzień planuję rano, jeśli nie mam ochoty programować dzisiaj, to się nie zmuszam i na przykład w ten dzień czytam całą książkę, dzięki czemu do końca tygodnia mam spokój z czytaniem książki. Staram się planować, co zrobię w ciągu tego tygodnia, a na początku każdego dnia, wybierać coś z tej listy. Dzięki temu się nie znudzę, a osiągnę to, co sobie zaplanowałem. Stwierdziłem również, że jeśli mam ochotę zrobić coś, co nie znalazło się w żadnym planie, to nic się nie dzieje, ważne jest to, żeby było to pożyteczne i mnie uszczęśliwiło.

Jednak w tym roku mógłbym nagrodzić siebie za:

  • czytanie książki "Obudź w sobie olbrzyma" i stosowanie się do rad tam zawartych
  • dążenie do samorozwoju
  • większa asertywność
  • umiejętność bycia w każdej chwili szczęśliwym
  • poznananie swoich celów
  • kontrola swoich uczuć i wspomnień
  • prowadzenie pamiętnika
  • usystematyzowanie wiedzy o podrywaniu dziewczyn
  • zrobienie i korzystanie z tablicy motywacyjnej
  • dietę informacyjną
  • rzucenie słodyczy (ogólnie zdrowy tryb życia)
  • próby pozbycia się pewnych nałogów (jeszcze do końca mi się to nie udało)
  • uśmiechanie się do ludzi i bycie bardziej towarzyskim

A wy jak świętujęcie swoje urodziny? Robicie party ze znajomymi, traktujecie je jak zwyczajny dzień, robicie w ten dzień, wszystko na co macie ochotę czy może jeszcze coś innego?

]]>
Wuala - sieciowy disk wirtualny index.php/home/post/217 index.php/home/post/217 index.php/home/post/217#comments Sun, 11 Jul 2010 15:09:38 +0200 Sławomir Domagała Ostatnio wyrzucałem gazety z mojego biurka i trafiłem na starego PCWorlda. Znalazłem w nim informacje o Wuali - grupowym wirtualnym dysku. Wuala udostępnia zarejestrowanemu użytkownikowi miejsce na wirtualnych dyska oraz umożliwia automatyczną synchronizację plików między komputerem użytkownika a jego wirtualnym dyskiem.

W podstawowej wersji mamy do dyspozycji 1G, ale dodatkowe miejsce i usługi (automatyczna kopia zapasowa, wersjonowanie plików) można zyskać stając się pro. Aby otrzymać taki status należy udostępniać swoje miejsce na dysku bądź kupić minimalnie 10 GB za 15€ za rok. Nie trzeba także się obawiać o bezpieczeństwo swoich danych, pliki jeszcze przed wysłaniem są szyfrowane 128-bitowym kluczem AES. Pewnie bym się nie skusił na skorzystanie z tego, gdybym nie przeczytał, że jest napisana w Javie i działa równie dobrze pod Linuksem jak pod Windowsem. A to, że nie jest ona OpenSource rekompensuje mi dostęp do swoich ważnych danych w każdym miejscu.

Instalacja

Opiszę tylko instalację pod system spod znaku Pingwina. Użytkownicy innych systemów mają instalację klikalną, więc to by nie miało sensu.

Debian, Ubuntu i inne pochodne

  • Włączamy konsolę, logujemy się jako root i ...
    mkdir temp
    wget https://www.wuala.com/files/wuala-repo-installer_2010-05-26_all.deb
    
  • Instalujemy repozytorium
    aptitude install wuala-repo-installer_2010-05-26_all.deb
    lub 
    apt-get install wuala-repo-installer_2010-05-26_all.deb
    
  • Uaktualniamy repozytorium
    aptitude update
    lub 
    apt-get update
    
  • Instalujemy wualę
    aptitude install wuala
    lub 
    apt-get install wuala
    

Inne dystrybucje

  • Instalujemy javę, xdg-utils, libfuse2 i fuse-utils
  • Kopiujemy skrypt do instalacji Wuali ze strony http://forum.wuala.com/viewtopic.php?p=75#p75. Pierwszy jest do instalacji wuali, drugi - deinstalcji. Potrzebny nam będzie ten pierwszy, kopiujemy jego zawartość do dowolnego edytora. Skrypt jednak ten nie będzie działał, bo albo ktoś skrypt do wyświetlania kodu w postach źle przygotował albo autor wpitolił twarde spacje. Wyszukujemy więc w naszym edytorze funkcję znajdź i zamień, zamieniamy wszystkie twarde spacje ("&npsp;") na nic (czyli usuwamy). Teraz po zapisaniu nasz skrypt powinien działać. Pierwsze 6 zmiennych można edytować wedle uznania.
  • Nadajemy prawa wykonywalności
    chmod +x nazwa_skryptu
  • Uruchamiamy
    ./nazwa_skryptu

Konfiguracja

Musimy się dodać do grupy fuse (jako root), aby móc montować dysk Wuali

addgroup nazwa_użytkownika fuse
jednak jako członkowie tej grupy będziemy pracować dopiero po ponownym uruchomieniu komputera.

Czasemy możemy nie mieć sieci w javie, dlatego, że uparta chce się łączyć tylko po IPv6. Wystarczy jednak zmienić w pliku /etc/sysctl.d/bindv6only.conf linijkę: net.ipv6.bindv6only = 1 na net.ipv6.bindv6only = 0 a następnie uruchamiamy jako root polecenie:

invoke-rc.d procps restart
lub
echo 0 > /proc/sys/net/ipv6/bindv6only

Teraz możemy uruchomić Wualę i utworzyć konto (nie ma żadnych linków potwierdzających w e-mailach).

Jeszcze przydałoby się zmienić folder lokalnej pamięci podręcznej (wymieniane miejsce, pamięć podręczna itp.) jeśli na chcemy przechowywać tych danych na /home. W tym celu wchodzimy w Wuali do Narzędzia->Opcje->Lokalna Pamięć Podręczna->Folder i patrzymy na lokalizację tego folderu, jeśli ten katalog poza /home to widocznie pewnie instalowałeś Wualę za pomocą skryptu i zmieniłeś tam, którąś zmienną. Jednak jeśli jest w /home to musisz wklepać w konsoli polecenie

cp -R stara_sciezka_do_katalogu nowa_sciezka_do_katalogu
, gdzie nowa_sciezka_do_katalogu to miejsce, w którym chcemy, żeby Wuala przechowyała lokalną pamięc podręczną. Następnie zmieniamy w ustawieniach Wuali lokalizację folderu z stara_sciezka_do_katalogu do nowa_sciezka_do_katalogu i gdy już to zrobimy możemy wykonać polecenie:
rm -R stara_sciezka_do_katalogu
, które usunie nam stary katalog lokalnej pamięci podręcznej.

Użytkowanie

Operacje na plikach możemy robić w okienku Wuali lub na podmontowanym dysku pod nazwą WualaDrive. Twórcy udostępnili też duże możliwości jeśli chodzi o udostępnianie plików, możemy udostępniać pliki dla wszystkich, dla określonych znajomych lub możemy udostępnić galerię zdjęć dla wszystkich internautów, osobom nie korzystającym z Wuali.

Korzystałem z: ]]>
Batman - Mroczny Rycerz index.php/home/post/216 index.php/home/post/216 index.php/home/post/216#comments Wed, 07 Jul 2010 14:35:07 +0200 Sławomir Domagała Według mojego planu tylko raz w tygodniu oglądam film. 28 czerwca oglądnąłem Batmana i bardzo tego żałuję. Nie opisałbym go, gdybym się tak nie zawiódł, filmów przeciętnych nie opisuje, jedynie opisuje te wybitne i te denne. Prawda – nie spodziewałem się inteligentnego i z rozbudowaną fabułą, ale tutaj wszystko oprócz efektów specjalnych oceniam nisko.

Tutaj efekty specjalne chyba miały zatrzeć braki fabuły, a takiego czegoś bardzo nie lubię. Gdyby efekty specjalne stanowiły dodatek do reszty, to wziąłbym je pod uwagę przy wystawianiu oceny. Zacznę od gry aktorskiej. Według mnie jedynie dobrze grał Heath Ledger, postać Jokera bardzo mi się w tym filmie podobała. Nie podobała mi się postać batmana, tak jakoś sztucznie wyglądała, ten batman taki nadęty. Maggie Gyllenhaal jako Rachel mogła okazać swoje wdzięki a tu nic, przeciętna kobieta. Nie wiem jak Danta mam oceniać, bo może psuć to, że reżyser źle wykreował tą postać.

Fabuła jest prosta, ale na początku reżyser wprowadza straszny zamęt, że nie wiadomo kto jest z kim, przeciw komu i co się tak w ogóle dzieje. Aby wam ułatwić zrozumienie filmu jak już się zdecydujecie go oglądnąć, jest kilka głównych bohaterów: mafia, policja, prokurator, batman i Joker. Mafia nie jest w stanie nic poważniejszego zrobić, bo boi się batmana. Pomoc jej oferuje Joker - szaleniec, który pragnie, żeby świat płonął, obiecuje on zabić batmana. Został również wybrany nowy prokurator, który jest twardym graczem i nie boi się zadrzeć z mafią, pomaga Batmanowi. Gdzieś tam pomiędzy został wpleciony wątek miłosny, który – przyznaję – nie został przeze mnie zrozumiany.

Wszystko idzie dobrze, jednak jest za dużo wątków i za dużo wyścigów i efektów specjalnych. Końcówka jest jednak najgorsza, bo strasznie naiwna: głupi pomysł z człowiek z dwiema twarzami, byczkowaty więzień okazujący uczucia. Nie dobra dalej nie będę wspominał, bo popsuję rozrywkę tym, co jednak postanowią oglądnąć batmana. Zakończenie może być optymistyczne, ale nie aż tak naiwne.

Filmu nie polecam tym, co szukają czegoś więcej w filmie niż tylko efektów specjalnych i tym, którzy nie są fanami batmana. Moja ocena dla filmu to 5 (w skali od 1 do 10).

]]>
Czerwiec - książki index.php/home/post/215 index.php/home/post/215 index.php/home/post/215#comments Sat, 03 Jul 2010 23:58:17 +0200 Sławomir Domagała W czerwcu przeczytałem dużo grubszych książek, chyba ostatnie sensowne książki z tego działu w bibliotece, z którego przeważnie pożyczam. Aż dwie książki pożyczone odrzuciłem, jedną bo już czytałem, a drugą, bo słownictwo było w niej jak dla jakiegoś 13-latka. Postanowiłem się przenieść do innego działu i czytać jakieś bardziej wymagające pozycje, lepiej czytać książki, dla których jest się za młodym niż dla których jest się za starym. Ale wracając do czerwca, przeczytałem „Głębiej” i „Otchłan” z seri „Tunele” Rodericka Gordona & Briana Williamsa, „Złodziej Pioruna” z seri „Percy Jackson i bogowie olimpijscy” Ricka Riordana oraz „Ucieczka z Wichita Falls” Wiesława Wernica.

  • „Głębiej” Roderick Gordon & Brian Williams

    Drugi tom z serii „Tunele”. Na początku poznajmy sławną Sarę, ukrywająca się w Górnoziemiu. Jej spokój zburza list, w którym czyta o wydarzeniach, które wydarzyły się w podziemiu. Wbrew intuicji wierzy w słowa tam zawarte i to ją gubi. Z wrogami się nie współpracuje, nie z tymi, u których nie można liczyć na bezinteresowność.
    A nasi trzej bohaterowie: Will, Chester, Cal docierają do Głębi. Uciekli wiele tuż sprzed łap Styksów, przeżyli tam tylko, dzięki ich szczęściu. Chcą pomóc popsuć plany Styksów dotyczące Górnoziemia, zniszczyć zabójczego wirusa. Will znajduje również ślady ojca. Ale o tym jak to wszystko się skońćzy, dowiecie się czytając ten tom i następny.

    „Nigdy nie trać nadziei”, „Walcz do końca”, „Nie wszystko jest takim, jakim się wydaje” - to przesłania jakie zdołałem zauważyć w książce.
    Ocena: 5

  • „Otchłan” „Tunele” Roderick Gordon & Brian Williams

    Trzecia część seri Tunele, równie wciągająca, co poprzednie. Nasi przyjaciele wpadają to Otchłani i lądują na wielkim grzybie wyrastającym z tunelów odchodzących to otchłani. Chłopcy zauważają, że tutaj grawitacja jest znikoma. Ich zmartwieniem będą bliźniaczki. Sara Jerome rzucając się na Rebeki i wpychając je do Otchłani, ratuje świat górnoziemców lub raczej odsuwa zagładę w czasie. Jednak te dwie dziewczyny przeżywają i lądują całe na grzybie, fiolki z wirusem i szczepionkę też pozostają całe. Po raz kolejny przekonujemy się jak Styksowie potrafią wykorzystywać ludzką empatię do osiągnięcia swoich celów, nie wolno zapominać, że Styksowie nie mają uczuć.

    Will dopiero tutaj odnajduje swojego ojca. Pani Burrows wreszcie odrywa się od ekranu telewizora, uświadamia sobie stratę jaką doświadczyła. Ale czy Will się o tym dowie, czy dowie się kogo kocha? Will z ojcem odkrywają w Czeluści zaginioną cywilizację, jednak zakończenie nie jest podane. I to mi się bardzo podoba, nie lubię książek, gdzie nie można nic dopisać.

    Ocena: 5
  • „Percy Jackson i bogowie olimpijscy” „Złodziej Pioruna” Rick Riordan

    Główny bohater, Percy Jacskon ma wylecieć z już kolejnej szkoły z internatem. Kolejnym jego kłopotem są mitologiczne siły, które bezczelnie wpraszają się do jego „prawie” normalnego życia. Zostaje oskarżony o kradżież Pioruna Piorunów Zeusa.

    Aby nie doprowadzić do wojny bogów Percy i jego przyjaciele udają się w poszukiwania atrybutu Zeusa. Zakończenie jest równie ciekawie jak tajemnicza zagadka Wyroczni, którą dostał główny bohater. Musi się m.in. obawiać zdrady przyjaciela i tego, że najważniejszej rzeczy ocalić nie zdoła. Książka jest fajna i wciągająca, autor świetnie przedstawia greckich bogów w dzisiejszym świecie, jednak brakuje mi w tej książce czegoś więcej, może fabuły, która nie obracała by się tylko w okół jednego wątku, a może jakiegoś przekazu.
    Książka, która ma być tylko rozrywką na kilka godzin, może dostać tylko 4.

  • „Ucieczka z Wichita Falls” Wiesław Wernic

    Kolejna książka tego autora, która wprowadza nas w świat Dzikiego Zachodu - miejsce wolne jeszcze od aparatu biurokratycznego, kompromis między wolnością jednostki, a władzą pańśtwa (które jest trochę potrzebne). Dzięki tamtej wolności Ameryka zawdzięcza swoją potęgę.
    W książce głównym bohaterem jest Robert - młodzieniec, który w młodości uczestniczył w przepędzaniu bydła, a później został przygarnięty przez Karola Gordona i pewne małżeńśtwo, które zamieszkało w GreenField. Został on niesłusznie oskarżony o pewne przestępstwo i pewnie zostałby skazany, gdyby nie uciekł w poszukiwaniu ratunku. Ratunek przychodzi jednak od ludzi, od których tego by się niespodziewał, sposób w jaki został on udzielony jest równie zaskakujący.

    Przygoda Roberta jest pretekstem od odpowiedzenia historii Dzikiego Zachodu: praworządni szeryfi, do skazy źli rabusie, dziwni jednak przyjaźni wędrowcy, sądy, w który jeszcze nie ma prawników. Nie ma chwili, żebym czytając tą książkę, nudził się, dlatego dostaje ona ode mnie ocenę 5.

    To tyle na temat książki, jednak opowiem o przemyśleniach, do których dzięki niej doszedłem. Na Dzikim Zachodzie szeryfa wybierali ludzie, była to oznaka dla poszanowania tego urzędu oraz zaufania do wybranego człowieka. Jednak teraz nie funkcjonowałoby to tak jak należy, ponieważ tamci ludzi szanowali prawo, teraz - nie, bo dzisiejsze prawo jest biurokratyczne, niejasne, tworzone przez ludzi, którzy się na nim nie znają (przynajmniej w Polsce).

    Teraz jednak można byłoby obciąć socjał. Koniec np. z pomocami dla powodzian, przecież wiedzieli, gdzie się budują, że podczas poprzedniej tereny te były zalane. Od odszkodowań istnieją instytucję, w których się można ubezpieczyć. Po co ja mam płacić za głupotę innych. Również koniec z zasiłkami dla bezrobotnych, góra przez półroku zasiłek, jeśli nie potrafi sobie znaleźć pracy przez półroku to trudno się mówi. Aby pobierać podatki trzeba zatrudnić urzędników, którym trzeba wypłacać pensje, a którzy równie dobrze mogliby co innego - powiększać dobrobyt kraju. Najłatwiejszym podatkiem w kontroli byłby podatek od nieruchomości oraz pojazdów (podatek, z którego można by naprawiać drogi, budować ścieżki rowerowe, remontować tory itd.). Również do wypłacania zasiłków trzeba urzędników. A tak trochę odbiegając od tematu, Grecja sprzedaje wysepki, aby spłacić swoje zadłużenie (w Grecji panował i panuje wielki socjał).

]]>
Podrywanie dziewczyn index.php/home/post/214 index.php/home/post/214 index.php/home/post/214#comments Mon, 14 Jun 2010 21:58:05 +0200 Sławomir Domagała W tym wpisie dowiesz się wszystkiego, co jest ci niezbędne do poderwania każdej dziewczyny. Ja dostarczę ci wiedzy, której nigdzie indziej nie dostaniesz i dzięki temu wpisowi uwolnisz drzemiącego w Tobie samca alfa. Jedynej rzeczy jakiej od Ciebie będę wymagał, to stosowania moich porad w praktyce.

Tak, to była ironia. Każdy, kto chociaż raz wpisał w google "jak poderwać dziewczynę", wie, że tak zaczyna się typowy poradnik do podrywania dziewczyn. W większości z nich jest to samo i są to rzeczy, o których – gdybyś tylko nie bał się zapytać – dowiedział byś się od swojego ojca/dziadka lub z filmu.

Rady z poradników

Rozmowa

  • Nie rozmawiaj z dziewczyną na tematy polityczne, pracy i szkoły, problemach osobistych oraz nie obrażaj i nie obgaduj innych (innych dziewczyn szczególnie, ale chłopaków też nie, uzna cię wtedy za nie lojalnego, który po prostu chce się podlizać).
  • Zawsze wypada mieć również zapasowe, uniwersalne tematy, gdyby rozmowa się nie kleiła np. hobby, ferie, ulubione książki lub filmy, wasze zwierzaki.
  • Jak mówisz to mów nie za szybko, z entuzjazmem, wplataj żarty do rozmowy.
  • W rozmowie okazuj dziewczynie, że ją słuchasz (budź się tak co minutę, żeby być w temacie), pytaj o to co ostatnio powiedziała i utrzymuj kontakt wzrokowy.
  • Pamiętaj również o tym, żeby się nie kłócić, gdy czujesz, że dziewczyna się z Tobą nie zgadza, to po prostu zmień temat, ale podkreślaj, że masz inne zdanie.
  • Unikaj tego co negatywne i nudne, nie rozmawiaj o jej byłym chłopaku podczas pierwszej rozmowy.
  • Nie bój się zmieniać tematów – rozmowa stanie się ciekawsza.
  • W naszej kulturze nie wypada, żeby kobieta robiła pierwszy krok, więc jeśli dziewczyna się do Ciebie uśmiechnie, to odwzajemnij uśmiech i zacznij rozmowę.

Osobowość

  • pasja
  • empatia
  • dyscyplina
  • humor
  • pewność siebie
  • tolerancja
  • pozytywne nastawienie do świata
  • szacunek dla innych ludzi i poglądów oraz szacunek ludzi dla ciebie (ale nie ze strachu, tylko dlatego, że Cię lubią)
  • śmiałość w kontaktach z kobietami
  • nie bój się podejmować decyzji
  • bądź z siebie dumny
  • nie stawiaj dziewczyny wyżej od siebie
  • bądź sobą
  • ćwiczenia fizyczne dodają pewności siebie

Samiec alfa

  • otwarta postawa: nie garb się, nie krzyżuj nóg, unikaj złączonych nóg, nie baw się rękami (zostaw je w spokoju)
  • uśmiech
  • sposób poruszania się: odradza się poruszanie jakbyś miał płetwy na nogach oraz chodzenia jakby ktoś nam wsadził kołek w d*** i jeszcze w nogi
  • nie bój się kontaktu wzrokowego; przy poruszaniu nie patrz się w dół, patrz przed siebie, ale na nic konkretnie
  • nigdy nie spuszczaj wzroku pierwszy, poczekaj aż to zrobi ktoś inny
  • nie ubieraj się jak flejtuch

Zachowanie przy dziewczynach

  • zapomnij o przeklinaniu, jak najgłośniejszym bekaniu przy dziewczynach (najlepiej jakbyś w ogóle zapomniał)
  • bądź niebezpośredni (tajemniczy)
  • nie daj się podporządkować kobiecie
  • mądrze komplementuj
  • nie bądź zbyt miły dla niej, czasami możesz ją ignorować
  • nie daj się zaszufladkować, czyli, żeby np. dziewczyna stwierdziła, a ten to jest jak np. każdy informatyk
  • zaskakuj, nie bądź nudny
  • oraz przeczytaj Czy żeby poderwać kobietę muszę być bad bojem?
A żeby się dokształcać, zdobądź dziewczynę przyjaciółkę, którą będzie Ci doradzać, mówić czego dziewczyny nie lubią itd.

I wszystko to jest prawda, te rady są przydatne, nie będę zaprzeczał, ale... nie oszukujmy się, jeśli chce się mieć wprawę w podrywaniu dziewczyn, zajmować się tym częściej niż raz na ruski rok, trzeba poświęcić trochę czasu. Poświęcenie czasu na podrywanie dziewczyn spowoduje, że będziemy w tym doskonali. Rozumiem, że niektórzy chcą mieć wyzwania, zdobyłem taką, zaliczyłem taką. Jednak ja nie tylko na tym, chce budować poczucie własnej wartości. Bo co mi przyjdzie z poderwania 10 dziewczyn, zaliczenia 100, jak raczej z jedną się chodzi i raczej z jedną się żeni i ma się dzieci. W tym wieku dziewczyna też raczej nie jest niezbędna, chwalić przed kolegami to ja się nie chcę, a związki z liceum kończą się przeważnie na studiach. Już lepiej ten czas poświęcić czas na swoje hobby, doskonalenie siebie itd.

Koleżanka, kolega i film

Zacznę od koleżanki, która powiedziała mi "Dlatego nie masz dziewczyny". Była to odpowiedź na moje stwierdzenie, że nie widzę różnicy pomiędzy kobietami i komarzycami. Heh, miałem wtedy powiedzieć "Takiej jak ty bym nie chciał", ale chamski z reguły nie jestem, więc odpadło i udałem, że po prostu nie słyszę. Jednak i tak to w domu musiałem przemyśleć – już taki jestem. Po dłuższych przemyśleniach rozwikłałem zagadkę, tzn. dziewczyny nie mam, bo nie miałbym na nią czasu. Dotąd zawsze próbowałem rozdzielić czas pomiędzy kontakty z kobietami, kontakty z mężczyznami (trochę głupio zabrzmiało) i swoje zainteresowania. Teraz uświadomiłem sobie, żeby to zaczęło przynosić jakiekolwiek efekty, musiałbym więcej czasu poświęcić na kobiety, co źle odbiło się na reszcie mojego życia. Przestałem udawać, teraz tylko czas dzielę na kontakty z ludźmi i na hobby.

Kolega, który stwierdził, że jest naturalny w kontaktach z dziewczynami, nie szukał dziewczyny, bo uważał, że dziewczynę i tak zdobędzie, czy będzie się za nimi uganiał czy też nie. Okazało się, że miał rację, starał się nie zakochiwać (lub raczej teraz swoje zachowanie nazwałbym zauroczeniem się) i dziewczyna wpadła mu w ręce. Tego samego też dowiedziałem się z wpisu „21 Lessons I've learned after 21 years alive”, w lekcji 16.

W tym tygodniu oglądałem również film „500 days of Summer”. Tom pracuje w firmie, która projektuje kartki na różne okazje np. na urodziny, na pogrzeb. Pewnego zwykłego dnia Tom zauważa nową pracownicę w firmie, pannę Summer. Pomiędzy nimi następuje romans, wydają się pasować do siebie, jednak Summer kończy ten związek. Sprawia to, że Tom załamuje się, nie potrafi pisać tekstów na projektowane kartki, rzuca pracę, urzeczywistnia swoje marzenia — chce zostać architektem. I to zmienia całkowicie jego dotychczasowe życie. Żeby już zbytnio nie odsłaniać już i tak za bardzo odsłonionej fabuły filmu, powiem, że o zdobyciu dziewczyny, spotkaniu miłości decyduje przypadek, a nie uganianie się za nią, najważniejsze to złapać miłość za rogi, gdy ona Cię spotka.

The End

Możecie mówić, że piszę tak, bo nie udawało mi się z dziewczynami, jest po części prawda (czyt. 5 akapit od dołu), lecz gdyby to było tylko to, to dalej bym się „zakochiwał” w dziewczynach i bał się ujawnienia tego. W tej chwili, gdyby ktoś (kogo znam) mnie się zapytał o to w jakich dziewczynach się bujałem, powiedziałbym to. Na blogu o tym nie napiszę, bo to nie jest prywatny blog, a ja nie jestem ekshibicjonistą.

Podsumowując, dziewczyny dalej mnie kręcą, ale będę tylko o tym pamiętał, gdy je będę widział, w innych chwilach o dziewczynach myśleć nie chcę. Jednak, gdy przyjdzie okazja, dziewczyny, będę starał się podrywać. Jakie z tego wpisu mogą być wnioski dla Ciebie? Możesz profesjonalnie zajmować się podrywaniem dziewczyn, zaniedbując inne dziedziny życia. Możesz trochę czasu poświęcić na podrywanie dziewczyn, trochę na hobby. No i możesz tak jak czekać na okazję. Od Ciebie to zależy, ale jakbyś mógł to napisz, dlaczego i jaką postawę wybierasz, napisz swoje spostrzeżenia.

]]>
Kompilacja kernela sposobem debiana index.php/home/post/213 index.php/home/post/213 index.php/home/post/213#comments Fri, 11 Jun 2010 17:28:05 +0200 Sławomir Domagała W końcu wziąłem się za kompilację kernela. Trochę czasu straciłem, bo kompilowałem aż trzy razy, ale rezultatem tego jest poradnik i kolejne doświadczenie. Jedak to nie było z nudów, w tym wypadku okoliczności mnie do tego zmusiły, a właściwe moduł nvidiafb.

***

Jak każdy Linuksowiec wie, względu ideologiczne nieraz należy odłożyć na bok, gdy chodzi o sprzęt, a właściwie sterowniki do niego. Chcąc grać w gry, które można nazwać grami XXI wieku, niestety jeszcze (niedługo się to zmieni) muszę używać zamkniętych sterowników od NVIDI. I właśnie w nowej wersji kernela debianowego domyślnie jest wkompilowany moduł nvidiafb (otwarty sterownik), który uniemożliwia zainstalowanie zamkniętego sterownika.

***

To była taka mała dygresja, ale wracając do tematu, musiałem przekompilować cały kernel. A jak już cały kernel, to wolałem sobie ściągnąć najnowszego, poradnik będzie pokazywał jak skompilować kernela 2.6.34 (kompilacja innych kerneli wygląda podobnie, jedynie zmieniamy numerki).

Najpierw musimy zainstalować potrzebne nam pakiety:

aptitude install kernel-package ncurses-dev zlib1g-dev fakeroot wget bzip2

Piszą, że wypada jądro kompilować w katalogu /usr/src, więc:

cd /usr/src

Pobieramy źródła kernela 2.6.34:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2

Pasowałoby to teraz rozpakować:

tar xvjf linux-2.6.34.tar.bz2

Wchodzimy do katalogu, który powstał:

cd linux-2.6.34

Ja nie mam doświadczenia w kompilowaniu jąder. Jednak jakby tak pomyśleć, to jakieś doświadczenie mam, jeśli kompilujesz jądro pierwszy raz, to nie próbuj konfigurować jądro od podstaw, bo będziesz zachowywał się tak, jak dziewczyna, której zbliża się okres (czytaj: będzie cię denerwować, to że ptaki ćwierkają :D). Dlatego radzę skorzystać z gotowych konfingów developerów Debiana na stronie http://merkel.debian.org/~jurij. Pobieramy konfig dla naszej wersji kernela:

wget http://merkel.debian.org/~jurij/2.6.34-1~experimental.2/amd64/config-2.6.34-1-amd64.gz/

Rozpakowujemy to:

gunzip config-2.6.34-1-amd64.gz

Uruchamiamy konfiguratora:

make menuconfig
lub
make gconfig
lub
make xconfig

Dla pierwszego zjeżdżamy na sam dół i wchodzimy przyciskając Enter w opcję Load an Alternate Configuration File i tam wybieramy plik config-2.6.34-1-amd64. Dla innych tzw. bardziej graficzny wybieramy load setting from file lub coś takiego.

Odznaczenie wszystkiego, co nam może przeszkadzać, czyli dla posiadaczy kart NVIDIA, chcących mieć zamknięty sterownik. Wchodzimy do "Device Drivers", później do "Graphics Support" i odznaczamy tam dosłownie wszystko.

Kompilacja i utworzenie obrazu kernela i nagłówków. Proces, w czasie którego, możemy iść robić pierogi, gołąbki, kosić trawę:

make-kpkg clean
fakeroot make-kpkg --revision=custom.1.0 kernel_image kernel_headers

Instalacja:

dpkg -i linux-image-2.6.34_custom.1.0_amd64.deb linux-headers-2.6.34_custom.1.0_amd64.deb

Teraz możemy ponownie uruchomić komputer i wybrać nasze nowe jąderko.

Większość zaczerpnąłem z http://www.4unix.pl/debian/kompilacja-wlasnego-jadra.html. Dodam jeszcze kilka swoich uwag: -gdy nie wybieramy opcji kernel_headers możemy spokojnie katalog ze źródłami z katalogu /usr/src -paczki radzę przenieść do jakiegoś innego katalogu, aby nie było potrzebnie zajmowanie miejsce na /usr.

]]>
Minimalizm, a pamiątki z wycieczek index.php/home/post/212 index.php/home/post/212 index.php/home/post/212#comments Fri, 11 Jun 2010 16:30:14 +0200 Sławomir Domagała

Ostatnio zacząłem ponownie pomyśleć o pozbyciu się kilku rzeczy, a że jest to pora wycieczek szkolnych, pomyślałem właśnie o niepotrzebnych pamiątkach z tych wycieczek. Nie dość, że nie spełniają swojej funkcji, to jeszcze zajmują niepotrzebne mniejsce.

Pamiątki z wycieczek

Przypominam sobie swoje pierwsze wycieczki i patrze na obecne wycieczki młodszych znajomych. Nie różnią się te wycieczki w ogóle, z tych wycieczek mamy tylko jakieś głupie ciupagi, domki, czaszki, słoniki, ramki na zdjęcia itd. itd. One nie przypominają tych wycieczek, nie przypominają tego, co na nich robiłem, z kim tam byłem i gdzie byłem. Przypominają one tylko o wyrzuceniu pieniędzy w błoto. Przez wszystkie wycieczki tych pieniędzy by się bardzo dużo naskładało, jeśli liczyć, że na każdej wycieczce traci się 50zł (optymistyczne założenie) to na 6 wycieczek wychodzi 300 zł. Za te pieniądze można kupić dziecku aparat. Aparat w lepszy sposób utrwali wycieczki i zrobi unikalne pamiątki, przy których miło będzie można spędzić czas na stare lata.

To jest co prawda krótki wpis na temat minimalizmu, ale przypominający, że w każdym aspekcie naszego życia należy szukać okazji do oszczędzania i usuwania niepotrzebnych rzeczy.
Jeśli masz ciekawe spostrzeżenia dotyczące minimalizmu możesz podzielić się nimi w komentarzu.

]]>
Książki - koniec maja index.php/home/post/211 index.php/home/post/211 index.php/home/post/211#comments Tue, 01 Jun 2010 16:17:17 +0200 Sławomir Domagała Dzisiaj Dzień Dziecka, a ja się meczę i piszę opisy książek. Nie odbiegając zbytnio od tematu, postanowiłem publikować opisy przeczytanych książek dokładnie 1 dnia każdego miesiąca. Od ostatniego wpisu o książkach przeczytałem „Wpadkę” i „Gangstera” Roberta Muchamore z serii „Cherub” oraz „Tunele” Rodericka Gordona i Briana Williamsa.

  • „Wpadka” Robert Muchamore

    Kolejny tom z serii „Cherub”. James Adams znajduje się na misji w Rosji, która kończy się zagadkowym morderstwem. Musi się on nieźle nakombinować, aby nie wrócić do Anglii w trumnie. Szczęście jednak sprzyja naszemu bohaterowi i szczęśliwie wraca do kampusu. Jednak tutaj dopiero jego przygoda się zaczyna, James musi udowodnić, że to, co mówił o zdarzeniach na misji jest prawdą, nagina przy tym zasady „Cheruba”, jednak wychodzi mu to na dobre i zostaje nawet za to nagrodzony. Również jego życie osobiste ulega całkowitemu przeobrażeniu.
    Jego siostra Laura w tym czasie wyrusza na solową misję, pomaga w rozpracowaniu grupy handlarzy ludźmi.
    Lektura równie wciągająca jak poprzednie części i uczy, że nieraz cel uświęca środki (czy. szkolenie czerwonych koszulek).
    Moja ocena: 5

  • „Gangster” Robert Muchamore

    Po rozpracowaniu przez Jamesa gangu handlarzy narkotyków Keitha Moora i jego rozbiciu w świecie przestępczym zapanowała wielka wyrwa, która należało zapełnić. Pomiędzy dwoma największymi dochodzi do wojny o wpływy, fala przemocy zalewa ulice. Zdobyć informacje silnie strzeżone przez te gangi może pomóc zdobyć mający znajomości wśród byłych członków gangu Keitha Moora James Adams.
    Jak podczas poprzednich misji i tym razem James musiał poderwać dziewczynę. Jednak w tym przypadku chciał się przyznać do zdrady, ale nie był pewien jak na to zareaguje jego nowa dziewczyna. Czy tak jak Kerry obrzuci, obije go i mu wybaczy? O tym dowiesz się tylko czytając tą książkę, oraz nauczysz się pewnych zasad: „Nie ważne co o Tobie mówią dziewczyną, ważne że mówią”, „Obicie Cię przez poszkodowanego zmniejsza Twoje poczucie winy i uspokaja sumienie”.
    Moja ocena: 5

  • „Tunele” Roderick Gordon & Brian Williams

    Po raz pierwszy widzę książka, która nie jest podręcznikiem, a ma więcej niż jednego autora. Muszą mieć niezłymi pisarzami, skoro książka przez cały czas pisana jest jednym stylem, nie widać, co napisał jeden pan, a co drugi (może w oryginale widać).
    Bohaterem tej powieści jest czternastoletni Will. Jego ojciec jest archeologiem, matka - telemaniaczką, siostra - głową rodziny, w przeciwieństwie do innych członków rodziny jest zorganizowana. Will i jego ojciec kopią tunele w poszukiwaniu skarbów przeszłości, oprócz tego pan Burrows jest kustoszem w okolicznym muzeum o małej renomie. Monotonię ich życia przerywa pojawienie się na ulicach miastach ludzi o podejrzanym wyglądzie oraz zniknięcie ojca Willa w tajemniczym tunelu. Will wraz ze swoim przyjacielem Chesterem wyruszają na poszukiwania, trafiają głęboko w podziemia i odkrywają mroczną tajemnicę. Ujawnienie tej tajemnicy może dać panu Burrowsowi szansę na spełnienie marzeń o karierze naukowca o światowej renomie.
    Książka mi się bardzo podoba, te 500 stron bardzo wciąga (jeszcze nigdy nie przeczytałem 150 stron w ciągu 90 minut - od 500 do 600 słów na minutę). Powinno być **trochę** więcej opisów, ale książka nadrabia to tajemniczością i tym, że na początku nie wiadomo, co jest czarne a co białe. Jest to książka o doskonałej przyjaźni i niedoskonałej rodzinie.
    Moja ocena: 6

]]>
Rozwój osobisty - kilka porad index.php/home/post/210 index.php/home/post/210 index.php/home/post/210#comments Fri, 28 May 2010 17:59:48 +0200 Sławomir Domagała Odkąd trafiłem na blogi o samodoskonaleniu, rozwoju osobistym, czuję, że moja życie zyskuje na świeżości i na jakości. Kiedyś marnotrawiłem dużo czasu na czynności, które do niczego nie były mi potrzebne albo na to, co mnie nie zbliżało do moich celów. Teraz jestem bardziej zorganizowany, lecz to nie znaczy, że popadłem w rutynę zaplanowanych codziennych działań. W tym wpisie zamierzam napisać o tym, co warto wcielić w swoje życie.

Dieta informacyjna

Codziennie jesteśmy zalewani papką (by nie powiedzieć gównem) niepotrzebnym nam do niczego informacji, jak np. pożary w Australii, nastolatek z bronią w szkole strzela do nauczycieli, x wypadków na drogach w czasie świąt. Te informacje nie są nam do niczego potrzebne, nie możemy na to, co się dzieje w żaden sposób wpłynąć, a po drugie większość tych informacji to informacje negatywne, które psują nam tylko humor i samopoczucie. Wiem, że niektórym po przejściu na dietę informacyjną będzie brakować tematów do rozmów ze znajomymi, ale to tylko oznacza, że tak na prawdę tych znajomych nie znamy dobrze, skoro nie mamy o czym z nimi rozmawiać. Dyskutować równie dobrze można o tym, co się dzieje w najbliższej okolicy.

Ja od kilku tygodni jestem na diecie informacyjnej, dzięki temu zaoszczędziłem dużo czasu i denerwują się tym, na co nie mam wpływu.

Linki:

Tablica motywacyjna

Co prawda tablicę motywacyjną mam od 23 maja, ale już zauważyłem pozytywne skutki jej obecności ko mojego komputera. Kiedyś wiedziałem, że coś miałem robić, jednak często tego tej zaplanowanej rzeczy nie robiłem, bo wiedziałem, że nie będę za to ukarany i nie będę miał wyrzutów sumienia, bo szybko o tym zapomnę. Teraz, gdy bym tej zaplanowanej rzeczy nie zrobił, patrząc codziennie kilkadziesiąt razy na tablicę motywacyjną, przypominałbym sobie o swoim nieróbstwie, lenistwie i uwierzcie, że to nie jest przyjemne uczucie.

Autor tego wpisu na tablicy ma cytaty motywujące i jego tablica motywacyjna zrobiona jest z tablicy korkowej. U mnie to trochę wygląda inaczej, z powodu braku środków tablicę zrobiłem z dwóch kartek A4 bloku technicznego, które przybiłem do ściany i do nich szpilkami karteczki z tekstami. Oczywiście mógłbym poczekać na najbliższy wyjazd do miasta i kupić tablice korkową, ale cechy mojego charakteru to niecierpliwość i upartość, więc tablicę zrobiłem z tego, co miałem pod ręką w niedzielę. Na mojej tablicy oprócz cytatów motywacyjnych znajdują się różne przestrogi, co robić, co nie robić, o czym nie zapomnieć itd. oraz plan lekcji.

Linki:

Porządki

Przydatną rzeczą jest także uporządkowanie swojego miejsca pracy (czyt. biurka) oraz wyrzucenie niepotrzebnych rzeczy z całego domu (jeśli należą do nas). Ja chyba po rodzicach mam nawyk kolekcjonowania różnych pierdółek, tu kabelek, tam dioda, tam terminarze sprzed lat, a gdzie indziej jakiś układ scalony. Jest to podobnie jak z kolekcjonowaniem przeze mnie różnych linków, kolekcjonują z myślą, że kiedyś mi się przyda. Jednak z doświadczenia wiem, że takie rupiecie się nigdy nie przydają. Planuję zostać minimalistą, posiadać tylko te rzeczy, które mi są potrzebne, dzięki temu zyskują pewnego rodzaju poczucie spokoju i koncentrację, nie zaprzątam umysłu myślami o niepotrzebnych mi rzeczach.

Linki:

Usuń ograniczenia

Cały czas próbowałem zwiększyć swoją efektywność, lecz okazało się, że granicą jest mój organizm, a krótko mówiąc mój zegar biologiczny. Zdałem sobie sprawę niedawno, że tak naprawdę jestem sową (chronotyp) i drugi szczyt mojej efektywności jest późnym wieczorem i wczesną nocą, czyli od ok. 21.00 do 0.00, w tych godzinach pracuje mi się bardzo dobrze. Niestety dla sów prawie wszystko w Polsce pracuje pod dyktando skowronków, jednak i z tym sobie poradziłem około północy, wstaję o 7.00, a później drzemka w środku dnia. Teraz pracuje mi się o wiele lepiej, a to wszystko dzięki wpisowi „Ograniczenia”.

]]>
Piractwo index.php/home/post/209 index.php/home/post/209 index.php/home/post/209#comments Sun, 23 May 2010 12:39:36 +0200 Sławomir Domagała Według organizacji przemysłu medialnego, walczącymi z piractwem, piractwo to właśnie pobieranie utwory chronionych prawem autorskim z Internetu, uważają, że jest to łamanie prawa. Jednak wg artykułu 116 Ustawy o Prawie Autorskim jedynie rozpowszechnianie utworów jest niezgodne z prawem, a według art. 278 § 2 polskiego Kodeksu karnego uzyskanie programu komputerowego bez zgody osoby uprawnionej, w celu uzyskania korzyści majątkowej, jest przestępstwem (nie ma jasności czy uzyskanie programu w celach osobistych jest równoważne z uzyskaniem korzyści majątkowej). Jest to wprowadzanie w błąd, ma na celu zrobienie z takich ludzi przestępców, już sama nazwa ma sugerować jakieś powiązania z piratami grasującymi na morzach lub na drogach.

Zadaję sobie jedno pytanie. Dlaczego organizacje walczą z nami – swoimi klientami w taki sposób? Dlaczego próbują lobbować do zmiany prawa, nakłaniają polityków do wydłużenia okresu trwania, przez który utwór chroniony jest prawem autorskim? Dlaczego próbują kontrolować Internet? I dlaczego w końcu pozywają piratów na horrendalne kwoty albo dlaczego w ogóle ich pozywają?

Okres obowiązywania praw autorskich

Wydłużenie tego okresu np. do 100 lat przyniesie same szkody. Książka, muzyka lub film mający 100 lat nie przyniesie żadnego zysku, nie sprzeda się, więc nie ma sensu taka długość prawa autorskiego. Po drugie korporacje medialne zaprzestają sprzedawania utworów, gdy ich wiek przekroczy kilkanaście lat, co oznacza, że takich utworów nie można w legalny sposób zdobyć, ponieważ ten, kto posiada ten utwór nie może go legalnie rozpowszechniać, a korporacja medialna, która ma do niego prawa też go nie sprzedaje.

Po trzecie utwór stary, mające już około 50 lat ląduje na śmietniku historii, o takich utworach uczą się studenci, analizują go, czasem znajdzie się w kanonie lektur szkolnych, wiec ważne jest, żeby taki utwór był w domenie publicznej.

No i mam jeszcze jeden zarzuta, o którym ostatnio pisał Piotr Vaglowski („Duża, kompleksowa nowelizacja prawa autorskiego i utwory osierocone”). Każdy utwór z automatu jest chroniony prawem autorskim, nawet ten, który nie ma autora lub autor jest nieznany. Jeśli autor jest nieznany, to nie wiadomo do kogo się zwrócić o pozwolenie na kopiowanie. Jeśli nie wiadomo do kogo, to nie ma możliwości, aby to kopiowanie było legalne. Najlepszym rozwiązaniem byłoby obowiązkowe podpisywanie znakiem © i podanie kontaktu do autora. Prawa autorskie do utwory trwałyby 20 lat, później jeśli ktoś by chciał mógłby w specjalnym urzędzie przedłużyć na kolejne 20 lat prawa autorskie. Eliminowało by to chronienie utworów zapomnianych przez swoich autorów. Łącznie 40 lat wystarczy. Filmy z lat 60-tych powinny być już w domenie publicznej.

Kontrolowanie Internetu jest niemożliwe

Istnieję sieci anonimizujące jak Tor, istnieje szyfrowanie, szyfrowane VPS (wirtualne sieci). Jak oni wyobrażają sobie kontrolowanie tych wszystkich danych, które przepływają w Internecie? Po treści się nie da skontrolować. Wypada im zamykać wszystkie serwisy torrentowe i fora z linkami i rozsiewać fałszywe torrenty i sprawdzać, kto pobiera. To są jednak metody mało skuteczne.

Walka w sądach

Zwykli ludzie nie mają pieniędzy na prawników, ogromnych kwot się boją, dlatego godzą się na ugody - jeszcze ten sposób działa. Taka strategia nie przynosi sympatyków i tylko czekać aż powstanie ruch prawników, który będzie za darmo bronił takich ludzi przed korporacjami.

Kto mieczem wojuje od miecza ginie

Taka walka nie przyniesie korporacjom medialnym sukcesu. Autorzy zaczną sprzedawać swoje utwory bez pośrednictwa tych kolosów, zaczną sprzedawać w Internecie. Zaczną zyskiwać ci, co nie traktują swoich klientów z góry. Przykładem może być akcja The Humble India Bundle, gdzie developerzy zyskali ponad milion dolarów. Uczestniczyłem w tej akcji i kupiłem te gry za 6$. I gdybym piosenki średnio kosztowały od 1zł do 2zł do kupowałbym je i nie tylko ja – „Internauci chcą płacić za muzykę i filmy”. Internauci ze swojej strony pokazują gesty dobrej woli, czekamy na korporacje.

]]>
Techniclan WAR-54GS i podział radiówki index.php/home/post/208 index.php/home/post/208 index.php/home/post/208#comments Sat, 22 May 2010 12:29:45 +0200 Sławomir Domagała Zakup nowego komputera spowodował to, że moim domu znajdują się dwa działające komputery, niestety łącze od anteny było jedno, więc tylko jeden komputer mógł być podłączony do Internetu. Oczywiście mógłbym ustanowić jeden komputer serwerem, ale mijałoby się to z celem, bo musiałby być włączony, gdy chciałbym skorzystać z Internetu z drugiego komputera. Rozwiązaniem był zakup routera z funkcją WISP (możliwość dzielenia łącza opartego na antenie). Zakupiłem Techniclana WAR-54GS. Miałem trochę z nim problemów, jednak one były z winy routera.

Słabsza karta radiowa w routerze

Okazało się, że router ma słabszą kartę radiową i tak moja radiówka pokazywała zasięg 25%, a router 10%, problemem było jednak to, że przy 10% router nie chciał się połączyć przez PPPoE. Trzeba było zmienić pozycję anteny (ponad 1 metr wyżej się znalazła) i teraz radiówka z komputera pokazywała zasięg 40%, a router 25%, co było wystarczające.

Zepsute firmware

Chciałem sobie zaktualizować firmware na najnowsze. Problem w tym, że zamiast ściągnąć dla Techniclana WAR-54GS ściągnąłem dla Techniclana WAR-54G i zainstalowałem, to go doprowadziło do stanu, w którym nie był użyteczny. Dobrze, że komuś chciało się stworzyć oprogramowanie do przywracania oryginalnego firmware, na stronie http://approsoftware.com/pl/podstrona-recovery.html jest napisane, jak przywrócić oprogramowanie. Zastosuję się do ich wskazówek, nie będę pisał jak przywrócić oryginalnego oprogramowanie, jedynie dodam, że przy Techniclanie WAR-54GS przy transmisji TFTP podpinamy do LAN3.

MTU

Maximum Transmission Unit (MTU) – rozmiar największego datagramu (w bajtach), który można przekazać przez warstwę protokołu komunikacyjnego. MTU zmniejsza się w celu uniknięcia fragmentacji. W moim routerze MTU było ustawione na 1496, a na moim Linuksie na 1500 i to powodowało, że żadne strony https, jabber - prawie wszystko z szyfrowaniem SSL nie chciało mi działać oraz ftp nie za bardzo działało. Metodą prób i błędów można dojść do optymalnego MTU. Początkowo ustawmy w routerze i komputerze MTU 1400 i sprawdźmy działanie stron https. Jeśli strony https działają to MTU zwiększamy o 20, jeśli nie to zmniejszamy o 20 i dalej sprawdzamy działanie stron https. U mnie optymalne MTU to 1480.

]]>
Książki - kwiecień i maj index.php/home/post/207 index.php/home/post/207 index.php/home/post/207#comments Fri, 21 May 2010 17:32:26 +0200 Sławomir Domagała Trochę czasu minęło od ostatniego wpisu na temat książek. Jednak powodem tego było m.in. to, że pracowałem bardziej nad tym co teraz widzicie, czyli własnym CMS (Content Managment System), a nie nad wpisami. Wracając jednak do książek, opiszę 5 książek: „Fiasko” Stanisława Lema, „Księgowir” Paula Glennona, „Prawda czy wyzwanie” Anniki Thor, „Ruiny Gorlanu” Johna Flanagana oraz „Płonący Most” tego samego autora.

Lista książek

  • „Fiasko” Stanisław Lem

    Głównym bohaterem książki jest Angus Parvis. Zostaje on ściągnięty na stację na Tytanie (księżyc Saturna), i tam dowiadując się o zaginięciu Parsifala, postanawia wyruszyć na ekspedycję ratunkową (albo raczej w poszukiwaniu ciał). Drugi raz spotykamy bohatera w XXII wieku — wyrusza on w celu nawiązania kontaktu z obcą cywilizacją.
    Książka dotyka problemu niemożności poznania i porozumienia się z cywilizacją pozaziemską, trudnościami z tymi związanymi, inną książką poruszającą ten problem jest „Solaris”. Również przedstawia nam obraz ludzi dzisiejszych czasów, oraz częściowo ich zachowanie w trudnych, ciężkich warunkach - zdala od osobników tego samego gatunku. Bardzo ważną rzeczą, którą powieść podkreśla, jest przekonanie człowieka, że wszystko jest w stanie zrobić, nigdy się nie poddaje. Chyba ta cecha sprawiła, że jesteśmy na obecnym etapie rozwoju.
    Moja ocena dla tej książki: 5+ (5,5)

  • „Księgowir” Paul Glennon

    Głównym bohaterem jest Norman - nastolatek, który lubi książki i gry komputerowe. Ma młodszą siostrę - Dorę, mamę - psychoterapeutkę i tatę - naukowca.
    Brzydkim nałogiem Normana jest nieświadome rwanie i zjadanie małych fragmentów kartek podczas czytania książki. I to wprowadza go w kłopoty, przypadkiem zjada jedną kartkę w książce, co sprowadza na niego „księgowir”. Po zaśnięciu trafia do książki, czym zaburza jej układ. Później trafia do książek, które czytają inni członkowie jego rodziny, wątki w tych książkach zaczynają się wzajemnie przeplatać. Zadaniem Normana jest naprawić to, co popsuł, czyli uporządkować wszystkie historie.
    Tajemniczą postacią w tej całej historii jest bibliotekach, który „przypadkiem” pojawia się w książkach, w których jest Norman.
    Moja ocena dla tej książki: 4

  • „Prawda czy Wyzwanie” Annika Thor

    Książka jest krótka, ale porusza bardzo ważne problemy, które dotyczą dużej części dzisiejszej młodzieży: chęć przypodobania się innym, przynależności do grupy „trzymającej władzę”, przyjaźni, nałogów. Główną bohaterką jest Nora - nastolatka. Wraca z wakacji, do szkoły i okazuje się, że jej najlepsza przyjaciółka Sabina znalazła sobie inną przyjaciółkę Fennę - dziewczynę z bogatego domu, która ma wszystko, czego zapragnie. Fenna i Nora toczą z sobą wojną, na której najgorzej cierpią ci, co się znaleźli w niewłaściwym miejscu i czasie.
    Moja ocena dla tej książki: 4

  • „Zwiadowcy” John Flanagan

    • Księga I „Ruiny Gorlanu”

      Głównym bohaterem jest piętnostoletni Will. Marzy o byciu rycerzem, lecz to od decyzji barona i Mistrzów Sztuk. Los całkiem krzyżuje mu plany, Will zostaje czeladnikiem u zwiadowcy Halta. Jednak ze względu na zdolności jakie posiada, to zajęcie jest dla niego idealne i doskonale się w nim spisuje, wykonując swoje pierwsze zadanie na 6+. Jego zadanie związane jest próbami osłabienia królestwa Araluenu przez wygnanego Morgaratha, które sprzymierza się z starożytnymi i groźnymi istotami. Wbrew pozorom jest do wciągająca powieść fantastyczna, chociaż nie występuje w niej magia.
      Moja ocena dla tej książki: 5

    • Księga II „Płonący Most”

      Wszystko wskazuje na to, że Morgarath uderzy na Araluen od północy od strony Równiny Uthal, dlatego król Duncan wysyła zwiadowce Gilana, młodego Willa i jego przyjaciela Horace'a z poselstwem do sprzymierzonej Celtii. Zastają pograniczną Celtię opustoszałą, a spotkana dziewczyna imieniem Evanlyn wyjaśnia, że mieszkańcy uszli w głąb lądu, ratując się przed napaścią wargalów. Po tym informacjach już nic nie wydaje się takie oczywiste. Chłopcy również dowiadują się o podstępie szykowanym przez Morgaratha. Czy uda się im go popsuć? Losy całej wojny są w ich rękach.
      Moja ocena dla tej książki: 5

]]>
Polowanie na naiwniaków index.php/home/post/206 index.php/home/post/206 index.php/home/post/206#comments Mon, 17 May 2010 17:14:22 +0200 Sławomir Domagała Ostatnio dostałem fajnego e-maila, którego celem jest wyssanie pieniądze od naiwników. Krótko chodzi o to, by przesłać 5 zł na numer konta znajdujący się na pierwszym miejscu (jest 5 miejsc), usunąć ten numer konta, swój numer konta wpisać na koniec i tak zmodyfikowaną wiadomość przesłać jak największej liczbie osób. Czyli streszczając jednym zdaniem: „Wpłać 5 zł na moje konto naiwniaku i prześlij dalej” (w końcu zabraknie osób, którym można przesłać dalej). Wbrew pozorom jednak ludzie dalej się na to nabierają, więc pozwolę omówić sobie jego treść.

Cześć :)

Proszę poświeć parę minut na przeczytanie tej wiadomości, ale NAJPIERW
zapoznaj się z treścia poniżej
(na niebiesko i czerwono) !!!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Niniejsza wiadomość może zawierać informacje poufne i/lub kierowane tylko do określonego adresata i jest przeznaczona wyłącznie do użytku podmiotu lub osoby, do której jest adresowana.

Jeżeli nie jesteś odbiorcą, dla którego wiadomość jest przeznaczona, proszę zawiadomić o tym nadawce, a wiadomość uznać za niebylą i skasować. Poniższą wiadomość może czytać tylko osoba mająca powyżej 18 lat. Jeżeli Twoj wiek jest poniżej 18 lat - skasuj wiadomość !!!

W przypadku skasowania wiadomości, zabronione jest jakiekolwiek ujawnianie, kopiowanie, rozpowszechnianie lub inne postępowanie dotyczące tej wiadomości, a w przypadku jego podjęcia moze byc ono uznane za naruszajace prawo.

No tak, już widać, że autor nie zna mojego imienia i nazwiska, nie wie ile mam lat, więc prawdopodbnie mój e-mail wytrzasnął z bazy jakiegoś spambota. Znaczy na pewno z bazy jakiegoś spambota, bo adresata nie znam. Czyli zaufanie spadał w dół, ktoś coś kręci.

Hmm, co do tego, że jeśli ma uznać wiadomość za niebyłą, jeśli nie jestem jej odbiorcą, to autor też coś kręci. Z tego, co wiem nie ma instrukcji warunkowych w wiadomościach, tzn. jeśli ktoś wpisał w pole adres e-mail odbiorcy mój e-mail to jestem odbiorcą e-maila niezależnie od jego treści. Może być uznane za naruszające prawo? Nawet jakby, to czy autor tego pomysłu ujawni swoje nazwisko, aby mnie pozwać?

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Jeżeli bedziesz czytać dalej tą wiadomość - jest to jednoznaczne z wyrażeniem zgody na otrzymanie TEJ informacji !!!Podstawa prawna - ustawa z 18 lipca 2002 o świadczeniu usług drogą elektroniczną - Dz. U. nr 144 poz.1204.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Nie ma też takiego czegoś, że wysyłam reklamę, a jeśli ktoś się nie zgadza na otrzymywanie dalszych reklam, to niech mi odpisze, a usunę go z bazy danych. Fragmenty tejże ustawy:

[…] Art. 4. 1. Jeżeli ustawa wymaga uzyskania zgody usługobiorcy, to zgoda ta:   1)   nie może być domniemana lub dorozumiana z oświadczenia woli o innej treści,   2)   może być odwołana w każdym czasie. 2. Usługodawca wykazuje uzyskanie zgody, o której mowa w ust. 1, dla celów dowodowych. […] Art. 10. 1. Zakazane jest przesyłanie niezamówionej informacji handlowej skierowanej do oznaczonego odbiorcy za pomocą środków komunikacji elektronicznej, w szczególności poczty elektronicznej. 2. Informację handlową uważa się za zamówioną, jeżeli odbiorca wyraził zgodę na otrzymywanie takiej informacji, w szczególności udostępnił w tym celu identyfikujący go adres elektroniczny. 3. Działanie, o którym mowa w ust. 1, stanowi czyn nieuczciwej konkurencji w rozumieniu przepisów ustawy, o której mowa w art. 9 ust. 3 pkt 1. […]

Autor powołuje się na przepisy mówiące dokładnie co innego. Teraz to już pozostał tylko promyczek nadziei, że nadawca jest twórca tego pomysłu jest uczciwy.

A WIEC ZACZYNAMY CZYTANIE LEKTURY

Proste i skuteczne wystarczy trochę cierpliwości. Przysięgam to działa, jak zaczniecie to będziecie jeszcze raz zaczynać.

Przemyśl to logicznie. Zróbmy to, co w opisie a gwarantuje ze zarobicie kilka tysięcy nic nie ryzykując.

ODE MNIE:

PRZECZYTAJ, MYŚLĘ ŻE WARTO POŚWIĘCIC 10 MIN, JA W TO WSZEDŁEM MÓWIĄC 5 ZETA TO LEDWO BROWAR W PUBIE, WIĘC NA PEWNO NIE ZBIEDNIEJĘ :) BEZ RYZYKA NIE MA ZYSKU :) MIŁEJ LEKTURY, JA PRZECZYTAŁEM 3 RAZY I SIĘ PRZEKONAŁEM. JEST TO DOSC CIEKAWE, JEDNAK CHYBA DLA LUDZI INTELIGENTNYCH I UCZCIWYCH, KTORZY SĄ W STANIE POJĄC CAŁĄ TĘ ZASADĘ - NA JAKIEJ WSZYSTKO SIĘ OPIERA....

WNIOSKI I UWAGI ODEMNIE....

Wczytując się w tekst zauważysz ze trzeba wpłacić 5 zeta, można pomyśleć... "A to ja będę sprytniejszy, i nie wpłacę tych 5 zł, zrobię jak mi karzą - ale po co płacić?" - jasne... Ale pomyśl, ze jak przyjdzie twoja kolej, to ludzie też tak pomyślą - a wówczas TOBIE nie będzie do śmiechu :) więc myślę ze to w interesie każdego "oddać" tę piątkę :) Przecież to serio nie pieniądz.....Pół paczki fajek...?? no halo....

Jeśli powiedzmy wpiszecie się na pierwsze miejsce to oczywiście wpłaci ktoś pieniądze od razu, ale ile osób nakłonisz? 10? 20? 50? I to tyle, oni cie wykasują z pierwszego miejsca i koniec. A jeśli zrobisz jak w instrukcji to nie będziesz u 10, 20 czy 50 osób bo tych osób znajomi i inni i kolejnych i kolejnych znajomi i inne osoby którzy jak w drzewie genealogicznym rozprzestrzenią cię w bardzo wielkiej liczbie itd. A taka nastąpi jak będziesz na pierwszym miejscu (przesunięty przez innych). Wiec wpisz się na koniec listy a pierwszą kasujesz.

Pisząc to â�� wpłaciłem już 5 zł dla innego użytkownika i mam nadzieję że lecąc tym systemem nikt nie będzie kantował i wszyscy zyskamy :)

Wniosek nr dwa:) jeśli system się okaże sprawny.... - to nic nie stoi na przeszkodzie aby kontynuować go kilkakrotnie

WIĘC DO DZIEŁA, NIE ŻEBYM NAMAWIAŁ - ALE POCZYTAJ :) - TO MA RACJĘ BYTU, SENS I LOGIKĘ - JEŚLI NIKT NIE BĘDZIE KANTOWAŁ :)

Witam. Przeczytaj tę stronę do końca a gwarantuję, że nie pożałujesz!!! Nie zmarnuj swojej szansy!!! Nie przejmuj się, że tekst jest trochę długi! Warto przeczytać!!!

TO NIE ŻADEN ŻART!!! GDYBY LUDZIE NAPRAWDĘ ZROBILI TAK JAK JEST NAPISANE BYŁOBY PIĘKNIE, ALE NIESTETY WIĘKSZOŚĆ UWAŻA ZE TO ŻART, ALE PROSZĘ WZIĄĆ TO NA LOGIKĘ.... NA ZDROWY ROZUMâ�Ś.

Nie wierzysz? To oczywiste, kto da 15000 zł za nic? A jednak. Po pierwsze nie za nic, bo wkład wynosi 5 zł po drugie potrzebujesz troszkę pracy dosłownie 20 - 30 minut jednorazowo (np. dziś albo jutro !) Zarobisz jak każdy, kto bierze w tym udział ok. 15000 zł w okrągły miesiąc! (ja dokładnie zarobiłem 2135 zł w niecały tydzień - 30 minut! Opłacało się.)

Ten sposób wymyślił Robert T. Kiyosaki - najbogatszy inwestor na świecie, który w dodatku nie ma pracy... i tak się rozeszło aż trafiło do mnie i do Ciebie!
Opowiem jakie to łatwe i proste, ale jeśli nie masz teraz 5 minut żeby spokojnie o tym przeczytać zapisz tę stronę i wróć kiedy będziesz miał czas : )

Tak więc pomyśl czy warto się troszkę zaangażować - to zależy od Ciebie. Gdy opowiedziałem o tym kolegom, wyśmiali mnie...
A jednak wziąłem w tym planie udział. Moi znajomi wyciągnęli się jak zobaczyli moje konto, a mówiłem od razu wejdźcie w to, wiadomo nawet znajomi czasami są nie ufni. He, teraz się z tego śmieje.... Jak sobie przypomnę ich miny, jak opowiadali o tym gdy zajrzeli na konta. Z resztą mi też gęba opadła jak zobaczyłem konto! A moje konto wciąż rosło i dalej rośnie!

Nawet teraz jak to pisze, dziwi mnie ile osób musi ciężko pracować by utrzymać dom, swoje dzieci lub po prostu zbiera na kino lub komputer. Dziękuję teraz temu, kto wysłał mi tę wiadomość i przedstawił mi ten pomysł, dziękuję że nakłonił mnie do tego, aby zrobić jeden mały skok w bok od szarego życia i zainwestować pieniądze (kurcze-jakie pieniądze, 5 zeta to browar w knajpie..) po to by włożone - pracowały dla mnie - a nie ja na te pieniądze.

Teraz udowodnię Ci, że jest to LEGALNY BIZNES!!!
Nie potrzebujesz niczego sprzedawać! Nie potrzebujesz rozmawiać o tym z przyjaciółmi, rodzina lub z nikim innym (chyba, ze chcesz). W dodatku, jeśli jesteś nieśmiały(a) to problem masz z głowy - bo nie musisz mieć bezpośredniego kontaktu z drugim człowiekiem. Ktokolwiek, kto trzyma rękę na pulsie może osiągnąć sukces i wzbogacić się o kilkadziesiąt tysięcy złotych. Jeśli wierzysz, że każdy ma swoje pięć minut to po prostu zrób krok po kroku tak jak jest to napisane poniżej!

To Twoja szansa na zmianę Twojej przyszłości!

To jest NAJTAŃSZA, NAJSZYBSZA I NAJPROSTSZA droga do zarobienia prawdziwych pieniędzy przez Internet w tak KRÓTKIM czasie.

OK to zaczynamy, bo się rozgadałem. Ten program działa i nieważne z jakiego kraju jesteś albo w jakim przebywasz. NIE ważne ile masz lat. I na dodatek NIE będziesz potrzebował specjalnej wiedzy lub talentu. NIE będziesz przeglądał stron internetowych, NIE będziesz nigdzie dzwonił, klikał, lub SPAMował, NIE będziesz także płacił za reklamy itp.

Wszystko czego potrzebujesz to:
- Konto w banku (najlepiej z możliwością obsługi przez Internet, ale niekoniecznie),
- Około 20-30 minut twojego czasu jednorazowo!
- Jeżeli masz 18 lat, to możesz założyć swoje własne konto w banku. Nie wierzysz?
Proponuje ci Dominet Bank lub mBank.


KROK 1

Niezaprzeczalne prawo natury jest takie, żeby zarobić musisz cos od siebie dać!

Więc pierwsze co musisz zrobić to zainwestować TYLKO 5 ZŁ. Jak mówi Robert T. Kiyosaki- "jeśli nic nie zainwestujesz - nic większego nie zyskasz!".

Im szybciej zainwestujesz tym szybciej zaczniesz zarabiać z powiększającą się rzeszą ludzi!

Tak więc, przelej 5 zł na PIERWSZE znajdujące się poniżej konto bankowe,
nazwę odbiorcy wpisz: xxx
a jako Tytuł wpisz: Dodaj mnie do swojej listy mailingowej.
CHCE, ŻEBYS WIEDZIAŁ(A), ŻE JEST TO PO TO, ABY UTRZYMAC TEN PROGRAM LEGALNYM!

To naprawdę proste!!! Gdy przelejesz 5zł na pierwsze konto z poniższej listy, to możesz już się szeroko uśmiechnąć:) Nie wiem czy wiesz, ale już czerpiesz z tego programu wielkie korzyści. Nawet nie zdajesz sobie z tego sprawy.


Oto obecna lista :


1. Nr konta: 93 1020 2401 0000 0502 0156 8781

2. Nr konta: 98 1140 2004 0000 3102 6753 4735

3. Nr konta: 65 1140 2004 0000 3302 6753 4746

4. Nr konta: 64 1140 2004 0000 3602 5545 0842

5. Nr konta: 53 1020 5138 0000 9002 0094 2458

PAMIĘTAJ! Wpłać 5 zł na konto nr.1 i jako nazwę odbiorcy wpisz "xxx" (ze względu na ochronę danych, a jeżeli dobrze przepiszesz numer konta to pieniądze i tak dojdą...)


KROK 2

Gdy już przelałeś 5 zł na konto znajdujące się na 1. miejscu listy następną rzeczą..., którą musisz zrobić to zrobić kopię tej strony (tekstu na niej zawartego).

Później konto nr.1 skasuj , a na sam dół dopisz SWOJE KONTO w ten sposób będzie znów 5 kont, a każdy przesunie się o jedno oczko w górę, przenumeruj je na koniec od góry 1, 2, 3, 4, 5 i stanie się tak że pod nr 5 jest twój nr konta.

NIE WPISUJ SWOJEGO NUMERU KONTA NA 1. POZYCJI, PONIEWAŻ SAM NA TYM STRACISZ

(wyjaśniłem to na początku i czytaj dalej). NIE BĄDZ ZACHŁANNY!!!

Robisz to wszystko po to by wysłać ten cały tekst ponownie (korzystając z twojej skrzynki mailowej albo reklamując na swojej stronie WWW) do np. 40 osób (zapamiętaj, że 40 osób to dobra liczba do wzbogacenia się, ale możesz zareklamować to w darmowy sposób w Internecie przez co więcej ludzi to zobaczy i możesz więcej zarobić!!!

POTRZEBUJESZ DOWODÓW?

Tutaj są przykładowe 3 osoby, oczywiście NIE są to wszystkie, które brały udział w tym programie i które zainwestowały nic innego jak 5 zł i 30 minut swojego czasu.

"Jaki wspaniały plan! Zrobiłem! wszystko co mi poradziliście z jakieś 3 tygodnie temu i co
prawda nie udało mi się uzbierać 15 000 o których mówiliście, ale te 9135zl tez mnie
powaliły, a jest jeszcze tydzień!! "
Tomasz Watorek , Warszawa

Cześć. Tu Justyna! No cóż, co mogę powiedzieć? DZIĘKUJĘ BARDZO BARDZOOO MOCNO wysłałam 40 maili tak jak mówiliście i w sumie zapomniałam o całej tej sprawie bo tak naprawdę nie wierzyłam w to, a te 5 złotych to jeszcze nikogo nie uratowało. Ale jak zobaczyłam moje konto po kilku tygodniach to się załamałam!!!!!
W tym dobrym znaczeniu! Było tam prawie 15 000 złotych!!! I jak ja to teraz wydam tak szybko? Przecież za kolejnych 30 dni będę mieć tego więcej!!! Dziękuje jeszcze raz!!!!"
Justyna Tojan, Strzelce Opolskie

"Byłem zaskoczony kiedy zobaczyłem moje konto !! Przez 3 tygodnie na moim koncie znalazło się 9440zl. Na początku myślałem, że to jakiś błąd wkradł im się do kompów. Ale potem wypłaciłem pieniądze i kupiłem sobie super kompa !!! Nareszcie !! ! Dzięki, dzięki, dzięki!!! Ryszard Bodler, Gdańsk

A tutaj troszkę matematyki:

Kiedy wyślesz swoje maile (lub rozpowszechnisz tę stronę w inny sposób, będziesz na 5 miejscu listy. To najlepsza pozycja po to by zarobić poważne pieniądze! Żaden inny program nie daje tak wysokich i realnych pieniędzy z różnych powodów, które wytłumaczę poniżej. Jak długo będziesz wysyłać tę wiadomość do ludzi, którzy będą zainteresowani programem, możesz spodziewać się, że średnio odpowie na nie 25% ludzi. Ale bądźmy bardziej pesymistyczni i dajmy na to, że tylko 12,5%, dla utrudnienia.

Gdy wyślesz 40 maili do różnych osób, możesz spodziewać się ze 5 z nich zrobi dokładnie to co Ty (12,5% z 40= 5).

Ale tym razem twój numer konta przesunie się na 4 pozycje . Wówczas już będzie o tym programie wiedziało 200 osób (5 x 40).

Z tych 200 ludzi, udzieli się 25 (12.5% z 200=25), więc dalsze 1000 maili (25 x 40), podniosą Twój numer konta na 3 pozycje.

Z tych 1000 ludzi, możesz spodziewać się, ze udzieli się 125 osób (12.5% z 1000=125), więc dalsze 5000 maili

(125 x 40) podniesie Twoje konto na 2 pozycje w liście.

A z tych 5 000 ludzi, możesz spodziewać się 625 osób , które się udziela (12.5% z 5000=625), więc kolejne 25 000 osób (625x40) podniesie TWÓJ NUMER KONTA NA 1 POZYCJĘ!!!

I teraz, z 25 000 ludzi, możesz spodziewać się, ze 3125 z nich odpowie (12.5% z 25 000=3125).

A w tym czasie to Ty będziesz na 1 miejscu!!! Więc dostaniesz: 15 625 złotych!!! (3125 x 5zł).

Więc, jak Twój numer znajdzie się na 1 pozycji przez kolejne kilka dni, to będzie Twój czas na to by zbierać pieniądze! Przez serie 30 dni, te pieniądze będą wysłane przez kilka tysięcy ludzi tak jak Ty to zrobiłeś!!!

Powodzenia, PROSZĘ, nawet, jeśli się nie zdecydowałeś(aś) jeszcze, nie wyrzucaj tej strony. DOBRZE CI RADZĘ!!

Mało, kto wierzy ze można tyle! zarobić, ludzie są bardzo sceptycznie nastawieni do takich spraw, ale to jest naprawdę realne, a te 5 zł "zaryzykować" to nie dużo. Dlaczego w cudzysłowie? Bo jeżeli zrobisz to, co było napisane wyżej, nie ma żadnego ryzyka! Tylko zysk! Zachęcam Cię jeszcze raz do wzięcia udziału w tym! wspaniałym planie!

Na pewno nie pożałujesz! Pozdrawiam!!

PAMIĘTAJ, wyślij tylko 5zł na konto numer 1, po czym skasuj je wpisując swoje konto na sam dół listy automatycznie przesuną się wszyscy o oczko w górę i przenumeruj je od góry 1, 2, 3, 4, 5 i stanie się tak że pod nr 5 jest twój nr konta

Nie bądźmy zachłanni!! Na każdego przyjdzie czas w miarę przesuwania się listy! KAŻDY zarabia, jeżeli łańcuszek będzie solidnie prowadzony

! NIE ZMIENIAJ FORMY LISTU !

Ta zabawa jest grą o sumie zerowej, gdy każda osoba grałaby kilka razy. A korzystana dla każdego byłaby jedynie wtedy, gdy zbiór osób byłby nieskończony. Jednak w rzeczywistości nie trafimy, ani na pierwszy, ani na drugi przypadek, po prostu zarobią Ci co do zabawy przyłączyli się na samym początku. Osoby z końca łańcucha będą miały największe szanse, że ich e-maile trafią do osób, które już uczestniczyły w tej zabawie, czyli prawie nic nie zarobią, bo wątpię, aby osoby, które już na tym zarobiły chciały dalej uczestniczyć.

Po drugie tutaj zyskują osoby, które grają nieuczciwie, bo mogą wpisać 5 numerów swoich kont (lub osób z rodziny) i mogą nic nie wpłacić innym osobom, zrobią to bezkarnie, ponieważ nie podajemy imienia i nazwiska, więc nie ma możliwości sprawdzenia uczciwości danej osoby.

Uczciwośc autora pomysłu też budzi spore wątpliwości. Ciekawy jestem tego, komu on swoje 5 zł wpłacił. On zyska najwięcej, ponieważ zgodnie z jego matematyką (i zakładając, że 5 początkowych numerów kont to jego konta) zarobi (3125 + 625 + 125 + 25 + 5) * 5 zł = 19 525zł. Kwota będzie większa, gdy weźmiemy pod uwagę, to co wcześniej napisałem - z jakiegoś spambota wytrzasnął bazę adresów e-mail. To jednocześnie tworzyłoby sytuację, w której bardzo duża liczba osób dostałaby tego e-maila jako druga osoba w łancuchu (po autorze), czyli zostałoby bardzo mało osób, które nie dostały tego e-maila (bazy spambotów obejmują duży procent wszystkich adresów e-mail). Poważną kwotę wtedy zgarnąłby tylko pomysłodawca.

Jestem również ciekawy, dlaczego mamy wpisywać xxx, a osoby nie podają swoich nazwisk. Ochrona danych? Może po to, by później ludzie nie dowiedzieli się, kto jest autorem tego planu? Oczywiście mógłby podać fałszywe nazwisko, ale gdybyśmy wpisali fałszywe nazwisko, to byłyby jakieś podstawy do cofnięcia przelewu i jakiś procesów cywilnych.

Zawsze z pewną dozą nieufności podchodzę do takich e-maili i tutaj moja wrodzona intuicja mnie nie zawiodła. Nienawidzę takich osób, co wykorzystują naiwność innych ludzi. Jednak tak było, jest i będzie, i nie ma się co oburzać, słabsi i głupsi przegrywają (ewolucja).]]>
Konkord na Windowsie - MinGW, Boost index.php/home/post/205 index.php/home/post/205 index.php/home/post/205#comments Sat, 24 Apr 2010 22:12:47 +0200 Sławomir Domagała Człowiek robi męczące rzeczy z dwóch powodów. Pierwszy powód to czysta ciekawość, a drugi powód to konieczność. Otóż mój kolega posiada Windowsa i chce testować mój program do nauki słówek Konkord, też lubi tak jak uczyć się języków obcych. Niestety nigdy nic nie kompilowałem na Windowsie, musiałem opierać się na skromnych informacjach z Internetu, a najlepsze jest to, że nie było nic po polsku.

MinGW kontra Cygwin

Przechodząc do sedna sprawy, na moim Debianie kompiluję swój program gcc, gdy kiedyś na Windowsie pracowałem, programy kompilowałem MinGW dołączonym do środowiska developerskiego DevC++ (lecz wtedy nie wiedziałem, że używam jakiegoś MinGW). Lecz teraz wiedziałem, że chcą budować aplikację linuksową na Windowsa, mam dwie możliwości, albo zainstalować Cygwina - implementację standardu POSIX dla systemów z rodziny Windows, albo użyć kompilatora MinGW - gcc przeportowanego na systemy z rodziny Windows.

Cygwin zapewniał by mi to, że nie musiałbym zmieniać kodu programu, ani przekompilowywać zewnętrznych bibliotek, których w nim używam, lecz zmusiłbym również tym użytkowników do instalacji Cygwina, a oni raczej nie chcieli by instalować takiego kombajna dla jednego kilkudziesięcokilobajtowego (bez wkompilowanych bibliotek) programu.

MinGW tworzy mi program z rozszerzeniem .exe, który będzie działał na każdym Windowsie i będzie samowystarczalny. Jednak w tym wypadku będę musiał przekompilować biblioteki i je dołączyć do program i czasem zmienić kod programu.

Zdecydowałem się na drugie rozwiązanie, dużo czasu poświęciłem na wstępne przygotowywania, czyli na to, żeby zainstalować i skompilować to, co będzie mi potrzebne do skompilowania programu. Nie żebym aż tak długo się zastanawiał, lecz te pakiety trochę ważą.

Instalacja MinGW

  • Ściągamy MinGW-5.1.6, uruchamiamy, klikamy dalej i mamy w folderze C:MinGW zainstalowany kompilator.
  • Lecz przydałoby się jeszcze, żeby nie trzeba było wpisywać całej ścieżki, aby uruchomić kompilator i w tym celu klikamy prawym na Mój Komputer -> Właściwości -> Zaawansowane -> Zmienne Środowiskowe. I tam mamy napis Zmienne Systemowe, pod nim mamy zmienną Path, edytujemy jej wartość, dopisując na końcu ;C:MinGWbin.
  • Hmm... ale mamy wersję 3.4.5 kompilatora. Czyż to nie jest zbyt stara wersja? Aby „zainstalować” nowszą wersję ściągamy z tej strony:
    • gcc-ada-4.5.0-1-mingw32-bin.tar.lzma
    • gcc-c++-4.5.0-1-mingw32-bin.tar.lzma
    • gcc-core-4.5.0-1-mingw32-bin.tar.lzma
    • gcc-fortran-4.5.0-1-mingw32-bin.tar.lzma
    • gcc-objc-4.5.0-1-mingw32-bin.tar.lzma
    • libgcc-4.5.0-1-mingw32-dll-1.tar.lzma
    • libgfortran-4.5.0-1-mingw32-dll-3.tar.lzma
    • libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
    • libgnat-4.5.0-1-mingw32-dll-4.5.tar.lzma
    • libgomp-4.5.0-1-mingw32-dll-1.tar.lzma
    • libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
    • libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
    • libobjc-4.5.0-1-mingw32-dll-2.tar.lzma
    • libssp-4.5.0-1-mingw32-dll-0.tar.lzma
    • libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma
    • mingwrt-3.18-mingw32-dll.tar.gz
    i wypakowujemy to do folderu C:MinGW (za pomocą programu 7zip). Można oczywiście też próbować edytować plik mingw.ini, jeszcze zanim zainstalujemy starego MinGW, ale zastanawiam się jak zapisać wersję libmpc, libmpfr i libgmp, gdyż wersje, które są domyślnie ściągane, są zastare i nie działają z nowszym gcc.

MSYS

No dobra niby wszystko to, co potrzebne jest zainstalowane, ale przecież, aby skompilować większość programów, nie tylko wydajemy polecenie make, ale wcześniej wydajemy polecenie ./configure, czyli bez Basha ani rusz. Musimy ściągnąć: msysCORE-1.0.14-1-msys-1.0.14-bin.tar.lzma i bash-3.1.17-2-msys-1.0.11-bin.tar.lzma i wypakować to do folderu C:MinGW. Aby zobaczyć naszego dolara w konsoli poleceń wpisujemy: C:MinGWmsys. Możemy oczywiście sobie „doinstalować” (ściągnąć i wypakować do wiadomo jakiego folderu) inne pakiety MSYS.

Boost

Boost jest to użyteczna kolekcja bibliotek, bardzo przydaje się przy programowaniu w C++ i jej właśnie użyłem w moim programie. Kompilacja źródeł tej biblioteki do bibliotek statycznych wygląda następująco:

  • Upewniany się, że mamy na jakiejś partycji około 3 GB wolnego miejsca, budowanie boost-a wymaga trochę miejsca
  • Ściągamy boost-jam-3.1.18-1-ntx86.zip z tej strony.
  • Wypadkowujemy, a plik bjam.exe przenosimy do folderu C:MinGWbin.
  • Ściągamy boost_1_42_0.tar.bz2 z tej strony.
  • Wypakowujemy boost_1_42_0.tar.bz2 tam, gdzie mamy dużo miejsca
  • Uruchamiamy C:MinGWmsys, wchodzimy do folderu, tam gdzie wypakowaliśmy naszego boosta (aby wejść np. na dysk D: wpisujemy cd d.
  • Wpisujemy bjam --build-dir=boost-build --toolset=gcc --build-type=complete stage release --without-python
  • Sprzątamy mieszkanie
  • Wpisujemy bjam --build-dir=boost-build --toolset=gcc install --without-python
Jeśli wszystko poszło dobrze, to mamy katalog C:Boost i tam w katalogu lib mamy statyczne biblioteki, a w include nagłówki. Korzystałem w dużej cześci z http://ascendwiki.cheme.cmu.edu/Binary_installer_for_Boost_on_MinGW.

Konkord

Ze strony http://github.com/godlark/Konkord pobieramy źródła programu. Można oczywiście odrazu wypakować i wpisać mingw32-make, lecz to nic nie da, bo to jest wersja dostosowana do Windowsa. Plik configure do programu stworzę w późniejszym czasie, teraz musimy sami trochę poprzerabiać. Prawidłowy plik Makefile:

CXX=g++
CXXFLAGS=-Wall
SOURCE=engine.cpp kurs.cpp main.cpp nakladka.cpp RegisterOfErrors.cpp SingleWord.cpp
OBJ=engine.o kurs.o main.o nakladka.o RegisterOfErrors.o SingleWord.o

%.o : %.cpp
	$(CXX) -ggdb3 -c $^ -o $@

konkord.e: $(OBJ)
	$(CXX) $^ -ggdb3 -Wl,--enable-auto-import libboost_regex-mgw45-mt.lib -o $@

Również w pliku nakladka.cpp funkcję sleep() musimy zamienić na funkcję Sleep() i argument należy pomnożyć przez 1000, bo windowsowska funkcja przyjmuje czas w milisekundach. I jeszcze w pliku nakladka.h musimy dodać linijkę #include . Teraz wystarczy skopiować libboost_regex-mgw45-mt.lib z naszego folderu C:Boostlib… do katalogu programu i w tym katalogu wydać polecenie mingw32-make.

Zakończenie

Narazie nie wiem jak wykombinować polskie znaki w programie. Jeszcze zobaczę, może wystarczy zmiana kodowania. Wracając jednak do MinGW to zamierzam jeszcze o nim napisać, oczywiście jeśli będzie możliwe skompilowanie źródeł gcc przez mingw. I zastanawia mnie jeszcze jedno, jak skonfigurować boosta, żeby dał się skompilować na linuksie, ale pod windowsa. Jeśli ktoś ma jakieś przemyślenia na ten temat, to serdecznie proszę o podzielenie się nimi :)

Już wiem, jak zrobić polskie znaki, wystarczy pliki zapisać w formacie OEM 852 za pomocą jakiegoś sensownego edytora. Lecz to tylko będą znaki dla Europy Środkowej, chyba trzeba specjalnie przerobić kod dla Windowsa, aby był UTF :/]]>