Imię ..........Piotr
Nazwisko ........Lewicki
Wiek ..
Wzrost 72.4409449 inch
Waga ...2574.9728 oz
Narodowość .........Polska

26-08-2010

Spływ kajakowy po rzece Drwęca – co ze sobą zabrać? – co można zobaczyć?

Zaszufladkowany do: Podróże — Tagi: , , — Levik @ 18:12

Hej,

dzisiaj chciałbym opowiedzieć Wam o spływie kajakowym który odbył się w lipcu 2010 roku na rzece Drwęcy. Nie będę zagłębiał się w opis samej rzeki, przecież od czego jest Wikipedia. Skupię się natomista na rzeczach, które trudno usłyszeć z ust osoby wypożyczającej nam kajaki, czy też nie łatwo dostrzec je w przewodniku.

Zacznijmy od tego, że spływ organizowany był dość spontanicznie, przez ludzi o niewielkim doświadczeniu. W doborze trasy korzystaliśmy z przewodnika Pascala. Zajął się tym jeden z uczestników, który nigdy nie siedział w kajaku. Mimo tego doskonale wywiązał się ze swojego zadania. Grupa liczyła 21 osób, czyli 11 kajaków dwuosobowych. Kajaki udostępniła nam wypożyczalnia Libra za 20 PLN na dzień za sztukę. Cena bardzo przystępna. Były to 2 kajaki polietylenowe i 9 kajaków z laminatu. Do tego kamizeli i siedziska. Wiosła do wyboru drewniane lub aluminiowe skrętne. W skali od 1-5 sprzęt ocenił bym na 4.

Spływ rozpoczęliśmy w Nowym Mieście Lubawskim, a zakończyliśmy w Toruniu. Według przewodnika przepłynęliśmy 142,5 km. Spływ miał trwać 10 dni my mieliśmy 6. Trasa była tak dobrana, aby mniej więcej co 2 dni (czasami udało się cześciej) można było uzupełnić zapasy żywności. Nocowaliśmy na polach, bynajmniej nie namiotowych. Dokładnie na polanach, często pastwiskach. Raz zdarzyło nam się zapłacić po 5 zł od osoby za możliwość rozbicia się u gospodarza za domem. Miejsca których na pewno nie wolno opuścić to Golub-Dobrzyń, Brodnica i oczywiście Toruń. Dla miłośników historii to nie lada gratka, a dla innych to szansa na to aby rozprostować kości. My w pośpiechu przepłynęliśmy przez Brodnicę czego później bardzo żałowaliśmy. Warto też zboczyć odrobinę z trasy i zahaczyć o jeziora, które urozmaicają naszą podróż. Można tam zażyć kąpieli, poskakać z pomostu, wdrapać się na tamę.

Rzeka przynosi sporo frajdy co nie jest żadną nowością. Niestety Drwęca jest dość monotonna. Nadaje się idealnie dla kogoś kto rozpoczyna przygodę z kajakiem i chce nauczyć się sterować. Oczywiście należy zachować wszelkie środki ostrożności. Są miejsca gdzie należy z dużą rozwagą podchodzić do przeszkód, aczkolwiek jest ich bardzo niewiele. W naszej grupie zdarzyła się jedna wywrotka i to właśnie przez nieuwagę i brak doświadczenia. Widoki były przepiękne, woda w zasadzie czysta, niestety nie jest to czystość pierwszej klasy. W przewodniku jest napisane, że jest to rezerwat przyrody na całej długości. Niestety nie widać tego, wokoło kręci się sporo śmieci. Na szczęście przegrywają z przytłaczającym je pięknem rzeki. Do tego muchy końskie i komary. Nie da się tego pominąć. Oczywiści nie jest to nic groźnego o ile ktoś pamiętał o środku odstraszającym te stworzenia. Należy pamiętać również o obuwiu ochronnym, buty neoprenowe za ok. 25 PLN wystarczą i uchronią przed przykrymi skaleczeniami, które w warunkach spływu goją się przerażająco długo. Na naszej trasie musieliśmy dwa razy przenosić kajaki, raz 100m, a drugi około 50, nie sprawia to wielkiego problemu. Najcięższy odcinek jaki nas czeka to moment wpłynięcia na Wisłę. Jednakże nie ma co się przejmować na zapas, to i tak będzie świetna zabawa przysparzająca dużo wrażeń.

Oto lista rzeczy niezbędnych do tego, aby spływ minął w miłej atmosferze:

  • worek wodoszczelny
  • Latarka ( ja polecam czołówkę )
  • spodnie długie
  • spodnie krótkie
  • buty neoprenowe
  • sandały (polecam Keen wodoodporne)
  • pełne buty
  • polar
  • kurtka przeciwdeszczowa
  • bielizna termoaktywna
  • karimata
  • okulary przeciwsłoneczne
  • chusta
  • kompas lub GPS (dla bezpieczeństwa nawigacji)
  • nóż
  • siekiera
  • namiot
  • rękawiczki
  • ręcznik
  • sztućce
  • kubek
  • manierka
  • sznurek
  • apteczka
  • olejek do opalania
  • środek odstraszający komary

Według mnie to wyposażenie zapewni Wam komfort i bezpieczeństwo, oczywiści zachęcam do eksperymentowania z ekwipunkiem i dzielenia się uwagami w komentarzach.

Pozdrawiam Piotr!


30-06-2010

Binary search – wyszukiwanie binarne – język java

Zaszufladkowany do: Java — Tagi: , , , — Levik @ 11:59

Ja na pierwszym roku studiów musiałem chyba około 3 razy napisać wyszukiwanie binarne na różnego rodzaju laboratoriach poczynając od podstawach programowania, a kończąc na Algorytmach i strukturach danych. Także myślę, że ktoś może z tego przykładu skorzystać. Dodam tylko, że wyszukiwanie binarne można rozwiązać w sposób rekurencyjny. Dość naturalny do wyobrażenia w tym przypadku. Kod poniżej prezentuje właśnie to podejście.

Co do samego algorytmu jak zawsze nie będę się przemęczał (nie dlatego, że mi się nie chce, ale inni opisali go już setki razy)

Wyszukiwanie binarne



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class BinarySearch {
 
	public static int tab[] = {3,5,12,20,28,34,38,41,55,67,71,78,81,85,94,99,102};
 
	//funkcja zwraca indeks elementu, jeśli go nie ma zwróci -1
	public static int binSearch(int find,int left,int right){
		//System.out.println("Szukam "+find+" lewy: "+left+" a prawy: "+right);
		int index=(left+right)/2;
 
		if(tab[index]==find){
 
			return index;
 
		} else {
 
			if(left>right){
 
				//System.out.println("Nie ma takiej liczby!");
				return -1;
 
			} else {
 
				if(tab[index]<find){
 
					return binSearch(find,index+1,right);
 
				} else {
 
					return binSearch(find,left,index-1);
				}
			}
		}
	}
 
	public static void main(String[] args){
		System.out.println(binSearch(67,0,16));
	}
 
}

Pozdrawiam Piotr!!!

28-06-2010

Sortowanie przez kopcowanie – Kopiec zupełny – HeapSort – Java

Zaszufladkowany do: Java — Tagi: , , — Levik @ 17:00

Hej, dzisiaj zaliczyłem ostatni przedmiot, kurs. Także sesja GAME OVER czytaj. “Mission Accomplished”. Tekst rodem z RED ALERT.

sesja zaliczona

Zapewne wrzucę jeszcze kilka swoich kodów na stronkę. Dzisiaj sortowanie przez kopcowanie zaimplementowane obiektowo. Struktura kopca zupełnego znajduje się w pliku heap.java, a jego przykładowe zastosowanie (tutaj sortowanie) w pliku test.java.

Oto kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//********************************
//wierzchołek   1
//lewy potomek  2*i
//prawy potomek 2*i+1
//********************************
public class Heap {
 
	private int tab[];
	private int size = 0;
 
	public Heap(int size){
		tab = new int[size+1];
	}
 
	public void insert(int val){
		tab[++size]=val;
		up();
	}
 
	public void up(){
		int temp=tab[size];
		int n=size;
 
		while( (n!=1) && (tab[n/2]<=temp) ){
			tab[n] = tab[n/2];
			n=n/2;
		}
		tab[n]=temp;
	}
 
	public int getFirst(){
		int temp=tab[1];
		tab[1]=tab[size--];
		down();
		return temp;
	}
 
	public void down(){
		int i=1;
		while(true){
			int pos=2*i;
 
			if(pos>size)
				break;
 
			if(pos+1<=size)
				if(tab[pos]<tab[pos+1])
					pos++;
 
			if(tab[i]>=tab[pos])
				break;
 
			int temp = tab[pos];
			tab[pos]=tab[i];
			tab[i]=temp;
 
			i=pos;
		}
	}
}

…a teraz kod przykładu…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Test {
 
	public static void main(String[] args){
		int tab[] = {32,43,2,46,23,1,0,-34,54,230};
 
		Heap heap = new Heap(10);
 
		for(int i=0;i<tab.length;i++)
			heap.insert(tab[i]);
 
		for(int i=tab.length;i>0;i--)
			tab[i-1]=heap.getFirst();
 
		System.out.println("Tablica posortowana");
 
		for(int i=0;i<tab.length;i++)
			System.out.println(tab[i]);
	}
 
}

09-06-2010

Bear Grylls – Man vs Wild – mapa i spis odcinków

Zaszufladkowany do: Bez kategorii — Tagi: — Levik @ 18:14

Cześć!

Dzisiaj znalazłem chwilę wolnego czasu i postanowiłem opublikować coś nad czym sporo myślałem, nareszcie udało mi się zrealizować pomysł. Mianowicie od kilku lat oglądam program Bear’a Grylls’a (Ultimata Survival, Man vs Wild). Niesamowity człowiek, bardzo ciekawy, szalenie optymistyczny wręcz idealnie pasuje do tego programu. Były komandos S.A.S, kilkukrotny zdobywca Mount Everest. To mówi samo za siebie. Wielu ludzi zarzuca mu, że zawsze podąża za nim ekipa i tak naprawdę to żaden survival. Ja jednak sądzę inaczej. Obecność ekipy zupełnie mi nie przeszkadza, a program ogląda się świetnie. Dotychczas powstało 6 sezonów i 7 jest w drodze tak, więc postanowiłem spisać wszystkie miejsca w których był Bear Grylls, a skoro spisać do dlaczego nie nanieść tego na mapę. Wykorzystałem do tego API Google maps i myślę, że wyszło całkiem nieźle. Tak, więc jeśli jesteś maniakiem Discovery i serii programów Bear’a Grylls’a to jest coś dla Ciebie. Jeśli zechcesz skompletować wszystkie odcinki Man vs Wild lista również Ci się przyda.


Season 1 Season 2 Season 3 Season 4 Season 5 Season 6

..:: Season 1 ::..

Episode 1 – The Rockies
Episode 2 – Moab Desert, Utah
Episode 3 – Costa Rican Rain Forest
Episode 4 – Alaskan Mountain Range
Episode 5 – Hawaii – Mount Kilauea
Episode 6 – Sierra Nevada
Episode 7 – African Savanna – Kenya
Episode 8 – European Alps
Episode 9 – Desert Island

..:: Season 2 ::..

Episode 1 – Everglades
Episode 2 – Iceland
Episode 3 – Mexico
Episode 4 – Kimberly, Australia
Episode 5 – Ecuador
Episode 6 – Scotland

..:: Season 3 ::..

Episode 1 – Sahara
Episode 2 – Desert Survivor
Episode 3 – Panama
Episode 4 – Jungle
Episode 5 – Andes Adventure
Episode 6 – Patagonia
Episode 7 – Bear Eats

..:: Season 4 ::..

Episode 1 – Zambia
Episode 2 – Namibia
Episode 3 – Jungle Swamp
Episode 4 – Castaway
Episode 5 – Siberia
Episode 6 – Land of Ice

..:: Season 5 ::..

Episode 1 – Baja Desert
Episode 2 – The Deep South
Episode 3 – Ireland
Episode 4 – South Dakota
Episode 5 – Bear’s Essentials
Episode 6 – Belize
Episode 7 – Yukon
Episode 8 – Oregon
Episode 9 – Dominican Republic
Episode 10 – Turkey
Episode 11 – Romania
Episode 12 – Bear’s Ultimate Survival Guide One
Episode 13 – Sweden

..:: Season 6 ::..

Episode 1 – Arctic Circle
Episode 2 – Alabama
Episode 3 – Vietnam
Episode 4 – Texas
Episode 5 – Alaska
Episode 6 – Bear’s Ultimate Survival Guide Two
Episode 7 – The Inside Story
Episode 8 – Pacific Island
Episode 9 – China
Episode 10 – Big Sky Country
Episode 11 – Guatemala
Episode 12 – Urban Survivor
Episode 13 – Shooting Survival
Episode 14 – North Africa



Pozdrawiam Piotrek

31-05-2010

Ludzie listy piszą – FaceBook

Zaszufladkowany do: Bez kategorii — Tagi: — Levik @ 13:13

Tak czasami bywa, że człowiekowi odechciewa się wszystkiego, miotają nim bezsensowne emocje. Raz jest spokojny za chwilę chciałby cały swój świat przewrócić do góry nogami. Nawet, ulubiony przysmak to czasami za mało, żeby chociaż na chwilę poprawić sobie humor. Piszę, żeby odrobinę się uspokoić, wyciszyć i skupić myśli.

Jak widzicie po prawej stronie na samym dole widnieje moja wizytówka z Facebook’a. Nigdy nie pałałem sympatią to serwisów społecznościowych. Naczytałem się książek o socjotechnice. Poznałem kilka niezłych historii o wykorzystaniu danych osobowych i to z powodzeniem mnie zniechęciło.  Konto na NK (nasza-klasa.pl) założyłem sobie chyba 2 lata po starcie serwisu, czyli jak wszystkim już się zabawa znudziła. Jakiś miesiąc temu zagościłem na facebook’u. Nie będę opowiadał o serwisie bo miejsca zabraknie, a właściwie po co. Fakt jest taki, że poniekąd przekonałem się do serwisów społecznościowych. Nie dlatego, że wprowadziły odpowiednią politykę bezpieczeństwa, ale kto u licha chciałby ukraść moje zdjęcia, albo wykorzystać dane osobowe. Odpowiedź jest prosta każdy kto ma złe intencje. Może brzmi to odrobinę niedorzecznie, ale cały czas wydaje mi się, że zamieszczanie tych wszystkich informacji na swój temat w sieci jest głupie. Jednak w ogólnym rozrachunku zysków i strat. To naprawdę niezła zabawa. Ryzyko absurdalnie duże, ale kto nie ryzykuje ten… w Rawiczu nie siedzi.

Ostatnio zaprosiła mnie do znajomych dziewczyna z Urugwaju, Andrea bo tak ma na imię, studiuje socjologię. Napisałem do niej krótką wiadomość, odpisała i tak wymieniliśmy się odrobiną informacji. Zawsze chciałem z kimś pisać listy zwłaszcza w obcym języku. Wprawdzie Andrea chyba nie ma ochoty na pisanie listów, ale może znajdę kogoś to chciałby powymieniać się ciekawymi spostrzeżeniami. Zobaczymy największy problem jest taki, że listy są teraz passé. Oczywiście cały czas mowa o listach elektronicznych.

Dobrze myślę, że osiągnąłem zamierzony przez siebie cel i nie zanudziłem was na śmierć. Lecę zrobić coś konstruktywnego.

Pozdrawiam…

28-05-2010

Assembler – MIPS – Mnożenie macierzy

Zaszufladkowany do: Security — Tagi: , , — Levik @ 17:02

Hej, oto kod prezentujący mnożenie macierzy, na studiach w ramach kursu Architektura systemów komputerowych kodzimy w asemblerze. Na warsztacie mamy mikroporcesor MIPS:

[...]MIPS (Microprocessor without Interlocked Piped Stages) jest to architektura komputerowa (w szczególności procesor typu RISC) rozwijana przez firmę MIPS Technologies. Istnieje zarówno w wersji 32- jak i 64-bitowej.[...]

Procek ten jest 2 na liście najczęściej wykorzystywanych procesorów, a to za sprawą jego komercyjnego sukcesu, chociaż nie tylko. Można go spotkać np. w PSP, albo PS2. =)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
###################################################
#
# Krótkie omówienie: 
# Program mnoży macierze. Poniżej mały przykład, aby zobrazowac ideę zapisu macierzy jako 
# tablicy w asm. (wiersz po wierszu). Należy również podać wymiary macierzy.
#
###################################################
#            ASCII ART <^_^>
#
#	A.       B.		   C.
#	| 1 0 2| |3 1|     |5 1|
#	|-1 3 1| |2 1|  =  |4 2|
#	         |1 0|
#
 
.data
	macierzA: .byte 1,0,2,-1,3,1											
	macierzB: .byte 3,1,2,1,1,0
 
	newLine:  .asciiz "\n"
	spacja :  .asciiz " "
	wynik  :  .asciiz "macierz C:\n"
.text
main:
 
############# WYMIARY MACIERZY ###########
	li $s0,2	# wiersze macierzy A	
	li $s1,3	# kolumny macierzy A	
 
	li $s2,3	# wiersze macierzy B	
	li $s3,2	# kolumny macierzy B	
##########################################
 
	bne $s1,$s2,koniec # aby pomnożyć macierze liczba kolumn macierzy A. musi być równa liczbie wierszy macierzy B. 
 
	move $s4,$s0	   # wiersze macierzy C
	move $s5,$s3	   # kolumny macierzy C
 
	la $t8,macierzA
	la $t9,macierzB
 
	li $v0,4
	la $a0,wynik
	syscall
 
	li $t0,0          # inicjalizacja liczniaka petli
for1:
 
	li $t1,0	   # inicjalizacja liczniaka petli	
	for2:
 
		move $a0,$t8
		move $a1,$t9
 
		jal mnozenie   # wywołanie procedury mnozenie jej kod zostal zaczerpniety z poprzedniego cwiczenia
 
		li $v0,1
		move $a0,$t6
		syscall
 
		li $v0,4
		la $a0,spacja
		syscall
 
		add $t9,$t9,1 # dodajemy jeden aby przejsc na następną kolumne
 
		add $t1,$t1,1
		bne $t1,$s3,for2
 
	li $v0,4
	la $a0,newLine
	syscall
 
	la $t9,macierzB    # ponownie ustawiamy adres macierzy B
	add $t8,$t8,$s1    # dodajemy do adresu liczbę kolumn macierzy a aby przejsc do nastepnego wiersza
 
	add $t0,$t0,1
	bne $t0,$s0,for1
 
koniec:
	li $v0,10
	syscall
 
mnozenie:
	li $t3,0 #licznik petli
	li $t6,0 #wynik
 
for3:
	lb $t4,0($a0)
	lb $t5,0($a1)
 
	mul $t4,$t4,$t5        # mnożenie składowych
	add $t6,$t6,$t4	  # sumowanie wyniku
 
	add $a0,$a0,1	         # przesuwamy sie na nastepny element macierzy A
	add $a1,$a1,$s3	  # przesuwamy sie na nastepny element macierzy B	
 
	add $t3,$t3,1
	bne $s1,$t3,for3
 
jr $ra

Pozdrawiam Levik

- by levik@wp.pl L3VIK -

Jesteś gościem numer 25223 - Twój adres IP to: 38.107.191.115