Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

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 12, 2007

Baza danych sqlite

Kontynuuję wątek otwartych, alternatyw dla programów komercyjnych. Tym razem przyszedł czas na bazę danych. Przyznam szczerze, że tym segmentem mało się interesowałem, ale od kilku dni zajmuje się tematyką jakoś z tym spokrewnioną, więc do rzeczy. Standardem (co nie oznacza najlepszym) w tej klasie jest MS Access. Istnieją jego wolne odpowiedniki, żeby wymienić Base - element pakietu OO.org, czy Kexi część "konkurencyjnego" KOffice,a więc aplikacje nie grzeszące szybkością, co przy naprawdę dużych zbiorach może mieć znaczenie.
Osobiście proponuję inne podejście, wydajniejsze a w perspektywie czasu wygodniejsze, mianowicie wykorzystanie systemów zarządzania SQL (Structured Query Language). Oprócz silników takich jak popularne MySQL czy PostgreSQL można wykorzystać mały i szybki sqlite.
Korzystanie z tego typu programów polega na pisaniu poleceń w języku SQL, za pomocą których wykonywane są operacje na bazach danych. Poniżej widnieje przykład bazy danych stworzonej za pomocą sqlite

Uruchomienie sqlite. Jeśli bazy nowabaza nie istnieje, zostanie taka utworzona
sqlite3 nowabaza

Utworzenie nowej tablicy w bazie. Trzy kolumny: zawierające nazwę zabytku, ilość i datę dodania
create table nowatablica(nazwa,ilosc,data);

Wstawienie wiersza do tablicy
insert into nowatablica values('ceramika',10,'2007-02-13');

Aby zapisać bazę do pliku należy wydać polecenia:
.mode column
.output nazwapliku
select * from nowatablica;


Po otwarciu pliku w dowolnym edytorze tekstu powinniśmy ujrzeć
nazwa ilosc data
------------- ------------ -----------------
ceramika 10 2007-02-13

Jak widać polecenia nie są szczególnie trudne do opanowania. Kiedy to się stanie sqlite może stać się potężnym narzędziem w naszych rękach. Ma jeszcze jedną zaletę. Jeśli zechcemy, aby dane były jakoś przetworzone, osoba która otrzyma taką bazę zapewniam, będzie zadowolona, bo oszczędzono jej masę czasu. Nie trzeba chyba wspominać, że dostęp do bazy można uzyskać z poziomu różnych aplikacji.

Saturday, February 10, 2007

ArcheoML

Kiedyś wspominałem o ArcheoML - języku opartym o XML (eXtensible Markup
Language) , którego przeznaczeniem jest uniwersalne opisywanie danych archeologicznych,
głównie w celu przetwarzania ich cyfrowo.
Przy pomocy języka można prezentować następujące informacje
- opisy archeologiczne
- opisy geograficzne
- opisy językowe
- opisy rezultatów badań

Na stronie opisującej ArchaeoML wymienione jest kilkanaście typów
dokumentów różnego przeznaczenia, a także znaczniki służące do
opisywania danych archeologicznych.

Warto poszukiwać nowych form opisu danych archeologicznych, jak
najbardziej uniwersalnych z jednej strony, a z drugiej bardziej
nadających się do przetwarzania i prezentowania danych.

Wednesday, January 31, 2007

Wolne sterowniki w Linuxie

Jeden z przodujących deweloperów jądra Linuxa - Greg Kroah-Hartmann
poinformował [1] na liście dyskusyjnej lklm [2] o propozycji
społeczności rozwijającej kernel. W zamian za udostępnienie informacji o urządzeniu,
programiści zobowiązują się stworzyć do niego otwarty sterownik, który zostanie dołączony do jądra, a co za tym idzie znajdzie się w większości
nowoczesnych dystrybucji GNU/Linuxa.

Inicjatywa jest korzystna dla obu stron, ponieważ producenci po pierwsze
zyskują wizerunkowo, po drugie wsparcie dla ich sprzętu gwarantują
twórcy otwartych sterowników. Pytanie tylko, czy wywoła wśród nich
odzew, biorąc pod uwagę to, że dotychczas ignorowali użytkowników
Linuxa, bądź tworzyli zamknięte sterwoniki?

[1] http://lkml.org/lkml/2007/1/31/276
[2] http://lkml.org/

----------------------
Artykuł ukazał się także w serwisie www.7thguard.net

Propozycje programów

Warto zastanowić się, jakie typy aplikacji, powinny znaleźć się w
linuksie, tak aby stał się przydatny w badaniach archeologicznych.
Poniżej prezentuję mało konkretną listę programów, które być może znajdą
się w linuksie dla archeologów:
- gis
- statystyka
- baza danych + program do zarządzania
- faktoryzacja zdjęć archeologicznych
- program do kalibracji C14
- skład tekstu

Nie jestem pewien, na co powinien być położony nacisk - prostota
używania, czy wydajność, bo te rzeczy często nie idą ze sobą w parze.

System naukowy

Wraz z wejściem systemu MS Vista na rynek urośnie zapewne presja na wymianę systemów operacyjnych, a co za tym idzie dostosowanie sprzętu komputerowego do wyjątkowo zachłannego na zasoby nowego produktu firmy Microsoft.
Niestety, czego by nie mówić, systemy z Redmont nie mają alternatywy w zastosowaniach naukowych, gdyż 99% aplikacji, szczególnie tych służących do obrabiania danych graficznych, są dostępne jedynie na niego. Niemniej warto mieć świadomość tego, że programiści open soruce udostępniają liczne programy, nie zawsze user-friendly, które jednak z powodzeniem mogą konkurować ze swoimi komercyjnymi odpowiednikami. Oczywiście trudno wymagać np. od humanisty umiejętności zainstalowania linuxa, czy bezproblemowego przestawienia się na odmienną filozofię używania tego systemu. Niemniej warto spróbować, bo gra idzie z jednej strony o pieniądze (wydawane na zakup Windowsa mogą być spożytkowane w bardziej racjonalny sposób), a z drugiej o bezpieczeństwo danych i niezależność od jednego producenta.
Archeologia, nauka operująca na granicy humanistyki i przyrodoznastwa, coraz częściej korzysta z przeróżnych aplikacji wspomagających interpretację danych. Na szczęście większość z nich można zastąpić wolnym oprogramowaniem, albo w najgorszym wypadku uruchomić przy pomocy Wine. Od jakiegoś czasu myślę o takim systemie, ale bynajmniej nie w formie nowej dystrybucji, ale rozszerzeniu już istniejącej.
Najlepszą bazą do tego wydaje się Debian, dlaczego:
- stabiloność
- bardzo duża liczba pakietów
- niezbyt skomplikowana instalacja.
Podobny projekt, ale bardziej nastawiony na nauki ścisłe i przyrodnicze - Debian Science. Jeśli by już doszło do realizacji pomysłu, przybrałby on zapewne formę instrukcji, w jaki sposób przekształcić zainstalowany system (niekoniecznie debian, może ubuntu?) na wersję dla naukowców. Dopóki nie wyjdzie Debian 4.0 (marzec - kwiecień) trudno napisać coś więcej

Sunday, January 28, 2007

Wolność popłaca

Na stronach internetowych dziennika Financial Times został opublikowany nader interesujący artykuł opisujący zalety rozpowszechniania publikacji w internecie i korzyści z tego płynące.
Temat jest o tyle ciekawy, zwłaszcza z perspektywy archeologii, jeśli z jednej strony wziąć pod uwagę utrudniony dostęp do publikacji (szczególnie dla osób spoza większych metropolii), a z drugiej możliwość dotarcia z porządną literaturą (naukową, czy popularno-naukową - to bez znaczenia) do szerszej publiczności. Bo przecież nie chodzi o to, by archeolodzy zamykali się w wieży z kości słoniowej i dyskutowali o chronologii czy typologii w wąskim gronie ~100 osób. Tym bardziej, że można zadbać o ochronę własnych praw autorskich, nie ograniczając przy okazji możliwości wolnego rozpowszechniania utworów, korzystając np. z licencji creative commons.

Saturday, January 27, 2007

Stallman

Od czasu do czasu, w zależności od potrzeb pisuję programy w Lispie, więc by być w miarę na bieżąco subskrybuję przez RSS blogi umieszczone na Planecie Lispa. Oczywiście społeczność zwizana z tym językiem jest dość nieliczna, więc posty trafiają się rzadko i zazwyczaj dotyczą spraw, które dla takiego amatora w tej dziedzinie jak ja są raczej mało interesujące.
Dzisiaj trafiłem jednak interesujący post, umieszczony na blogu Finding Lisp, w którym autor opisuje swoje refleksje po spotkaniu z Richardem M. Stallmanem - założycielem i przewodniczącym Free Software Foundation. Przytoczę kilka cytatów, bo one świetnie odnoszą się do tego co osobiście sądzę o Open Source i Free Software. Przepraszam, że po angielsku, ale nie chce mi się tego tłumaczyć.
Richard's contention is that all the userland for Linux came from GNU and thus Linux is really just the kernel while the whole OS should be called "GNU/Linux." Whether that is true or not, the fact is, Linus built his own operating system and he should have the right to name it. If Free Software is truly as Free as Richard wants to claim it is, naming should be one of the things where the Freedom shows. Put another way, I have no issue if the FSF and GNU want to put out their own Linux distribution and name it "GNU/Linux," or even just "The GNU System," that's fine. I have big problems with Richard trying to convince me that I would tack "GNU" onto the front of "Linux" for some reason. I would worry that at any time Richard might claim that the use of GPL code might warrant changing the name of your application to "GNU/Foo."

I like open source and believe there are certain advantages to it, I specifically reject Richard's moral basis for Free Software. Richard tries to portray access to source code and redistribution for no charge as abstract moral rights that every person should have, something akin to "life, liberty, and the pursuit of happiness." Using proprietary software, Richard says, is to make an immoral choice. I don't buy it.

I don't think most of the developers or users of software see a philosophical, moral argument to made with respect to closed software.