Friday, February 8, 2008

o wszystkim i o niczym

Wstyd się przyznać, ale nie zaglądałem tu od niepamiętnych czasów. Wstyd mi tym bardziej, że zagląda tu całkiem sporo osób jak na blog, na którym nowy post pojawia się raz na pół roku ;P. Ale jak rozumiem, to zasługa niebywale oryginalne treści.

Sprawy niestety nie przedstawiają się różowo. Codziennie przeklinam, że doba nie ma 48 godzin zamiast 24. Nie wiem za co się złapać, po sporo rzeczy jest do zrobienia, w tym 3-4 z etykietą PILNE. To jest kiepskie wytłumaczenie dla faktu, że rzadko wypowiadam się o nowych trendach i możliwościach prowadzenia badań archeologicznych, ale niestety "najprawdziwsza prawda". Co gorsza nie mogę obiecać poprawy, bo w tym momencie bym perfidnie skłamał. Nie mnie jedno z zadań, które jest raczej luźno związane z archeologią dobiega końca, więc może w końcu znajdę natchnienie do napisania czegoś nowego. Dziękuję za cierpliwość.

Saturday, October 20, 2007

Uniwersalny język

Chociaż znane są liczne próby opracowania uniwersalnego języka nauki, które były podejmowane w przeszłości [1] to do dziś nie udało się przyjąć jednej i słusznej koncepcji, która by zadowoliła wszystkich i jest to sytuacja, której nijak nie da się przełamać.

O ile w naukach ścisłych - matematyce, fizyce, czy nawet w informatyce ten problem nie istnieje - tam każde twierdzenie, czy każde zdanie nauki można wyrazić za pomocą powszechnie akceptowanego języka symboli matematycznych. W przypadku nauk humanistycznych i przyrodniczych takiej swobody, bowiem operują szerszą gamą pojęć, a uzasadnianie twierdzeń nie odbywa się drogą dowodu.

Czasy mamy jakie mamy i grzechem byłoby nie wykorzystać możliwości, jakie dają komputery do przetwarzania danych za ich pomocą. To jednak wyklucza użycie języka naturalnego, który nie jest neutralny i mało ścisły. Z tego oczywiście wynika konieczność rezygnacji z tego modeul narracji, który jest stosowany w naukach humanistycznych. Formuła współczesnych badań archeologicznych, a zwłaszcza warstwa analizy i interpretacji sprowadza sie do łączenia w złożone struktury drobnych fragmentów gromadzonych na przykład w trakcie wykopalisk. W dużym uproszczeniu hipotezy stawiane przez prahistoryków można scharakteryzować jako zdania definiujące układ relacji, w jakich względem siebie pozostają poszczególne wytwory człowieka.

Podkreśliłem słowo relacja bo jest kluczem, do zrozumienia, dlaczego proponuję tu użycie języka predykatów jako uniwersalnego języka narracji w archeologii. Bowiem zgodnie z semantyką języka predykatów formuły zdaniowe buduje się z symbolu predykatowego i argumentów, które w teorii mnogości symbolizują odpowiednio relację i jej poszczególne człony [2]. Argumentami formuły zdaniowej mogą być zarówno zmienne (rozpoczynające się od dużej litery) jak i stałe. Jeśli p(X) jest predykatem jednoargumentowym, to za jego pomocą oznacza się wszystkie te elementy jakiegoś zbioru, które posiadają cechę p. Na przykład predykat twarde(żelazo) można odycztać następująco: "żelazo jest twarde".
Jeśli p(X,Y) jest predykatem dwuargumentowym to za jego pomocą oznacza się wszystkie te pary uporządkowane , które są w relacji p. Predykat nad(warstwa A, warstwa B) odpowiada zdaniu "Warstwa A leży nad warstwą B". [3]

c.d.n

[1] Sobczyńska D., E. 2000. Czerwińska "Uniwersalizm językowy nauki" [w:] Piotrowska E., Korpikiewicz H. (red) "Matematyka - Język - Przyroda", Poznań.

[2] Wójcik R. 2003. "Wykłady z logiki z elementami teorii wiedzy", Warszawa.

[3] Kmita J. 1973. "Wykłady z logiki i metodologii nauk", Warszawa.

Tuesday, October 9, 2007

International Summer School of Archaeology

Kolejne międzynarodowe spotkanie poświęcone ochronie dziedzictwa kulturowego odbędzie się w Szwajcarii. Będzie poświęcone wykorzystaniu nowych technologii w m.in tworzeniu dokumentacji archeologicznej, cyfrowej rejestracji stanowisk, modelowaniu przestrzeni w trzech wymiarach i towarzyszących temu problemach. Więcej...

Sunday, October 7, 2007

Powrót

Trochę wody upłynęło w rzece od ostatniego postu (posta ?), ale nawał obowiązków ograniczył możliwości propagowania rozwiązań open source w archeologii. Ta przerwa, wynikająca z jednej strony z zajęć, o których już blogowałem - koder, programowanie w logice (archeologiczny słownik angielsko-polski niestety tej uwagi nie doświadczył - zainteresowanych przejęciem i dalszym rozwijaniem proszę o kontakt) i związanych z tym "prac pisemnych" a z drugiej konieczność skupienia się na lekturach niekoniecznie powiązanych stricte z tą problematyką, pozowlił na ocenę roli tego dziennika z jakieś perspektywy.

Wnioski z tej analizy są takie, że trzeba nieco zmienić profil tego bloga. Tematyka związana z open source oczywiście zniknie, choćby z uwagi na to, że nadal będą się tu pojawiały informacje o projektach, których jestem autorem. Niestety realia są takie, że poza nielicznymi wyjątkami archeolody "made in poland" nadal nie przyjmują do wiadomości, że komputer to coś więcej niż wygodniejsza wersja maszyny do pisania. Nowy cel jaki sobie postawiłem w związku z publikowaniem na archeodict jest popularyzacja komputera jako doskonałego narzędzia analitycznego. W szczególności mam tu na myśli modelowanie zjawisk, procesów, czy całych systemów. Po drugie wykorzystanie automatycznych metod analizy danych - i tu w grę wchodzi programowanie w logice (Prolog), czy systemy eksperckie.

Na dniach napiszę pare słów o rozwoju kodera i dalszych perspektywach jego rozwoju, bo to jest problem, który od pewnego czasu zaczął znowu zaprzątać moją głowę. A zatem do zobaczenia ... ;)

Wednesday, February 28, 2007

Kolejny cios

... w środowisko poznańskich archeologów ze strony ABW. Lech Czerniak, cudowne dziecko polskiej archeologii jest wychowankiem UAM w Poznaniu, więc zarzuty łapownictwa, które pod jego adresem stawia ABW tej uczelni splendoru nie przysporzą.

Thursday, February 22, 2007

Śmietnik w źródłach

Po dłuższej przerwie wróciłem do kodowania w C. I powiem tyle, może to będzie najmądrzejsze zdanie, jakie padnie na tym blogu: po pierwsze dokumentacja, po drugie dokumentacja, etc. C nie jest językiem bardzo skomplikowanym, jednak wskaźniki, tablice, pamięć mogą w pewnym momencie narobić sporo bałaganu w źródłach.
Kiedy spojrzałem na Kodera świeżym okiem i zobaczyłem ten bajzel, to się przeraziłem. W pierwszym momencie nie wiedziałem o co chodzi :(. Dlaczego? Nazwy zmiennych, które nie wiadomo do czego służą, brak komentarzy itd. Zabrałem się za nowe funkcje już z silnym postanowieniem o tworzeniu kodu jak najbardziej zwartego i przejrzystego. Jeśli ma to być aplikacja open source wypadałoby, żeby osoba postronna też ją zrozumiała.

Monday, February 19, 2007

Dogonić czas z awk

Ostatnimi czasy łapię się na tym, że ciągle brakuje mi czasu. Zazwyczaj jest to oznaka złego planowania, więc postanowiłem coś z tym fantem zrobić. Najporościej skorzystać kalendarz. I tu pojawia się pierwszy problem: papierowy, czy elektroniczny. Każdy z nich ma swoje zalety i wady, ale z uwagi na to, że 90% zajęć wykonuję na komputerze, zdecydowałem się na drugą opcję.
Teraz przyszedł czas na wybór narzędzia. W zasadzie rozważałem dwa: Sunbird - kalendarz ze stajni Mozilli, albo GoogleCalendar - działający przez WWW. Pierwszego nie było (nie rozumiem dlaczego) spakietowanego dla ArchLinuxa, drugi jakoś nie przypadł mi do gustu. Nie miając wyboru, otworzyłem edytor tekstu i wyskrobałem jakiegoś potworka w Pythonie, z kilkoma opcjami itd. To też nie było to, bo szukam czegoś naprawdę banalnego: dodawanie notatek o zadaniach i ich wyświetlanie. No więc zmajstrowałem pliczek o oryginalnej nazwie kalendarz.txt i wpisałem tam plan najbliższych zajęć - jedno zdarzenie - jedna linia. Format opisu jest następujący: YYYY-MM-DD opis zdarzenia.
Jeśli zadania wpisuje się w porządku chronologicznym i sprząta się listę regularnie, takie rozwiązanie może okazać się wystarczająco. Ponieważ jednak nie planuję żadnej z tych rzeczy, sięgnąłem po AWK - język przetwarzania tekstu i napisałem taki skrypt (daily.awk):

$1 == strftime("%F") {print $0}


Polecenie gawk -f daily.awk kalendarz.txt, plik z wydarzeniami jest przeszukiwany, a na ekranie wyświetlane są tylko te linie, w których pierwszy wyraz jest równy aktualnej dacie w formacie YYYY-MM-DD.
Prawda, że proste? Teraz wystarczy dodać taki skrypt do Crona i każdego dnia będzie się wyświetlała lista zdań do wykonania. Mała rzecz, a cieszy :)