archiwum wpisów z roku 2005

Nie pomaga nawet przyjazne "Don't panic"

Krótka obserwacja absurdów popularności w sieci. Jak zapewne niektórzy słyszeli, jakieś 10 dni temu Sir Timothy Berners-Lee założył publicznego bloga.

Co w RDF-ie powinno być wypisane?

Marcin W. Dąbrowski, napisał w komentarzu do jednego z poprzednich wpisów: Tylko mnie jedno dręczy - co w RDF-ie powinno być wypisane? Jakie informacje są najważniejsze? Bo chyba bez sensu wrzucać wszystko, co się da - od tego są ontologie i wnioskowanie, żeby agenci sami sobie to wyciągnęli... Racja, święte słowa — po to są, żeby sobie sami... Jednak problem nie jest taki prosty jak by można z pozoru sądzić...

CAPTCHA

Tekst, który powinien być komentarzem do wpisu Riddla, z braku możliwości komentowania na tamtym blogu przez chwilę był mailem, a ostatecznie z wewnętrznej potrzeby powiedzenia czegoś, co większość ludzi notorycznie ignoruje, stał się wpisem tutaj.

Embedded RDF

Jednym z najpoważniejszych problemów z jakimi się spotykam w różnych dyskusjach na temat Sieci Semantycznej jest obawa, że wszystkie aktualne dokumenty (X)HTML staną się nagle zupełnie zbędne jako nieczytelne dla agentów. Takie podejście oczywiście maksymalnie hamuje rozwój — ludzie są ze swej natury leniwi niechętni do zmian. A jeżeli muszą napisać coś od nowa (np. oprócz strony HTML dodatkowo jeszcze RDF/XML) tylko dlatego, że jakiś tam agent sobie nie radzi z informacjami w ich dokumentach to już w ogóle tragedia i zniechęcenie. Dlatego bardzo ważne są wszelkie próby minimalizujące konieczność wykonywania podwójnej pracy jak publikacja dla człowieka i osobna publikacja dla agenta SW.

Wnioskowanie OWL w praktyce (Wine + SWOOP 2.3 + Pellet)

OWL Web Ontology Language Guide oprócz tego, że opowiada o co w ogóle w tych ontologiach chodzi, zawiera konkretny przykład — ontologię Wine opisująca wina i dodatkowo Food z opisem potraw do wspomnianych win odpowiednich. Ontologia Wine jest ciężkostrawna dla mniej wydajnych narzędzi obróbki OWL (czy RDF w ogólności) oraz zabójcza dla słabszych mechanizmów wnioskowania. Postanowiłem sprawdzić jak z tym zadaniem poradzi sobie SWOOP w wersji 2.3 beta2

SWOOP

Z narzędziami programistycznymi w każdym zakątku Grzęzawiska zazwyczaj jest tak, że brakuje „klasy średniej”. Owszem są genialne narzędzia, z mnóstwem możliwości, ale są zazwyczaj piekielnie drogie. Natomiast narzędzia tanie, najlepiej darmowe, są najczęściej na tyle niedorobione, że mogą najwyżej być potraktowane jako dowód czyichś prób stworzenia czegokolwiek. Jeżeli raz na tysiąc projektów powstanie naprawdę dobre, sprawne i przydatne narzędzie open-source, to niemal z definicji robi (zasłużoną, owszem) karierę światową (najbardziej spektakularny przykład to oczywiście Eclipse).

RAP

Aby Sieć Semantyczna miała szansę zainteresować przeciętnych twórców dzisiejszego Internetu, muszą istnieć narzędzia SW pasujące do koncepcji aktualnego WWW. Prawdą jest, że najciekawsze oprogramowanie dla SW można dzisiaj tworzyć w technikach „ciężkich”, takich jak jawowe frameworki typu Sesame czy (genialna wręcz) Jena. Niestety bez „lekkich”, skryptowych rozwiązań władających dzisiejszym Internetem pozostanie to zabawa dla „wybitnie zainteresowanych”.

Open World

Dlaczego pomysł SW może być interesujący dla programisty? Powód pierwszy: Sieć Semantyczna zakłada istnienie „świata otwartego”. Podejście takie oznacza przyjęcie założenia, że sam fakt, iż coś nie zostało powiedziane, nie oznacza jeszcze, że nie jest to prawdą. W przeciwieństwie do światów „zamkniętych”, jak bazy danych i programowanie obiektowe, gdzie jeśli czegoś nie powiedziano, to tego po prostu nie ma. Świat otwarty wymusza specyficzne podejście do znajdywanych informacji — założenie ich niekompletności i przyjęcie tendencji do wyciągania wniosków uzupełniających zamiast zgłaszania błędów.

O co chodzi w SW?

Zobowiązałem się (pod koniec poprzedniego wpisu) przybliżyć pojęcie Sieci Semantycznej i szczerze mówiąc bardzo szybko pożałowałem tej deklaracji. O takiej idei nie da się powiedzieć w konwencji bloga, czyli krótko, interesująco i wyczerpująco jednocześnie.

Ja nie słyszałem po prostu jak pan śpiewał bo byłem zamyślony...

Zawsze mnie to zadziwiało, że mimo dostępności w Sieci ogromnej ilości informacji w języku angielskim zadziwiająco niewielki jej fragment trafia do polskiego czytelnika.

[off-topic][private][spam][whatever] Nuda. Czas na zmiany...

Stali czytelnicy (ze zdumieniem odkrywam, że są tu tacy i to więcej niż można policzyć na palcach jednej ręki, choćby i ręki Johny'ego 11 Palców) zauważyli pewnie, że kilka ostatnich wpisów zbacza na tematy, które wydają się mało związane z inżynierią oprogramowania, cokolwiek by przez ową inżynierię rozumieć.

Opera SPARQL Query Engine

Opera SPARQL Query Engine — serwer realizujący zapytania SPARQL na modelu stworzonym z publicznych danych Opera Community.

Web. Two. Ohh!

Cały ten hype (jak mawiają Anglosasi) wokół „Web 2.0” bywa miejscami naprawdę zabawny... :-)

Piggy Bank

W ramach poszerzania wiedzy tajemnej i oderwania się od przytłaczających ostatnio krajobrazów Grzęzawiska zainstalowałem niedawno Piggy Bank — rozszerzenie do Firefoksa zmieniające go z takiej sobie przeglądarki WWW w bardzo interesującą przeglądarkę Sieci Semantycznej.

Człowiek musi być obłąkany

Żadne przygotowanie teoretyczne nie jest w stanie uodpornić zdrowego człowieka na pomysły wariatów.

Graphviz

Kolejna perełka w kolekcji narzędzi na różne okazje: Graphviz - Graph Visualization Software. Dokładnie to, co prawdziwy geek lubi najbardziej — kawałek kodu źródłowego na wejściu i obrazek w jednym z wielu formatów na wyjściu.

Modelowanie niezupełnie rzeczywiste

W najróżniejszych ogólnych opisach i wstępach do technologii mówi się często, że programowanie obiektowe przedstawia związki między pojęciami w sposób analogiczny jak to ma miejsce w świecie rzeczywistym. Dzięki temu oprogramowanie ma być bliższe prawdziwemu światu — opiera się na interakcji autonomicznych obiektów, a nie tylko na wykonywaniu jakiegoś abstrakcyjnego ciągu rozkazów. Zgodnie z tym wszelkie dodatkowe technologie, które wyewoluowały z tego paradygmatu, w szczególności UML, oferują zestaw pojęć i notacji do „modelowania świata”. Taki model przekłada się potem na klasy, które w założeniu mają reprezentować obiekty lub pojęcia rzeczywiste czy chociażby wyobrażalne oraz relacje między nimi. Zadziwiające, jak łatwo udowodnić, że jest to bzdura... Chociażby wykorzystując stary (nawet jeśli znany, to wart przypomnienia) przykład z kwadratem i prostokątem.

HTML Slidy

Wczoraj zupełnie przypadkowo trafiłem na HTML Slidy : Slide Shows in XHTML. S5 idzie w odstawkę, bez dwóch zdań.

Diagramy aktywności w modelowaniu workflow

„Workflow” to „buzzword” z gatunku tych nielicznych, które użyte w dobrze dobranym kontekście brzmią nawet lepiej niż „XML”. Precyzyjnie wstawione we właściwie uszy „workflow” może uzasadnić nawet przebudowanie od zera systemu dla klienta, który teraz sam już nie rozumie jak mógł dotąd funkcjonować nie znając tego zbawiennego pojęcia.

Projektowanie parami

W przeciwieństwie do programowania parami, w które wciąż nie wierzę (być może z powodu braku otoczki w postaci reszty metod XP), projektowanie uważam za doskonale nadające się do pracy grupowej.

TEC 2006

Dzisiaj pojawiły się na stronach Borlanda nowe wersje Together: Architect|Designer|Developer version 2006. Zaciekawił mnie wpis w kolumnie Platform: „Eclipse 3.1 on Windows, Linux, Mac OS X, and Solaris”. Nie „Windows, Linux, Solaris, Mac OS X” i osobno wersja „for Eclipse”, jak było dotychczas, tylko jedna, jedyna wersja 2006 na platformę Eclipse 3.1.

Czy klient to nasz pan?

Poniższe miało być komentarzem do wpisu Patrysa, który z kolei jest komentarzem do wpisu Łukasza, który komentuje ... i tak dalej i tak dalej... Postanowiłem kontynuować ten łańcuszek szczęścia i zamieszczam te kilka zdań jako wpis osobny. A co tam...

Każdy ma taką inżynierię, na jaką go stać

Z powodów najróżniejszych, wśród których zmiana pracodawcy wcale nie jest najważniejszym, nie poświęcam ostatnio tyle uwagi okolicznym blogom, ile szanujący się obywatel Sieci poświęcać powinien. Jednak mimo przeciwności zdarza mi się trafić, zazwyczaj po czasie, na coś interesującego...

profesja czy ledwie zajęcie?

Wszystkim znudzonym mnogością informacji czysto technicznych, ewentualnie zainteresowanym szukaniem ludzkiej strony branży polecam ostatni artykuł na Hacknot: „The Crooked Timber Of Software Development”.

Akceptujesz?

Poniższy obrazek znalazłem w drukowanej dokumentacji pewnego systemu stworzonego dla poważnej instytucji publicznej. Zakładam, że nie jest to chochlik drukarski i faktycznie takie okienko jest prezentowane nieszczęsnemu użytkownikowi.

Komercyjny UML w Eclipse

W ramach przygotowania do nowego podejścia do starego projektu spojrzałem przez chwilkę na dwóch przedstawicieli komercyjnych produktów modelowania UML na platformie Eclipse: Visual Paradigm SDE for Eclipse (version 3.0 Professional Edition),Together Edition for Eclipse (version 7.0)

QNDBE

Od dzisiaj działa tutaj nowy silnik bloga o ślicznej nazwie QNDBE (czytaj: kundbe).

gdzie ten diabeł?

wychodzi na to, że nawet jeśli faktycznie opis funkcjonalności jest „rozsądnie uogólniony”, to projekt techniczny i tak musi zawierać kilka zupełnie irracjonalnych szczegółów... :-/ Największy diabeł tkwi w tym, co zostało w cytowanym na wstępie tekście ujęte rozbrajająco prostym „oraz ERD”.

proste narzędzia

Simple tools are easy to learn, easy to use, and very often easy to share with others. Yes, complex tools have their place, assuming they provide the best value for your investment in them, but never underestimate the effectiveness of simple tools either.

SIWZ

W moim wyobrażonym świecie sytuacji idealnych, które czasami (wbrew pozorom) faktycznie się zdarzają, pierwszy kontakt ”technicznych” przedstawicieli producenta oprogramowania (czyli analityka i/lub szefa grupy wykonawczej) z potencjalnym przyszłym systemem informatycznym następuje na poziomie dokumentu SIWZ.

Jutro obetniemy wam jaja!

Przypomniałem sobie kilka słów, które napisałem (a może wręcz opublikowałem, w końcu to na blogu było) dwa i pół roku temu, a które dziwnie złośliwie nie chcą stracić na aktualności.

Notacja Węgierska - rehabilitacja?

jak można być na tyle głupim, żeby bezkrytycznie dać sobie wmówić, że Charles Simonyi był na tyle głupi, żeby wymyślić „notację węgierską” tak, jak to zostało przedstawione światu..?

S5 - podejście pierwsze

O S5 słyszałem oczywiście dawno, ale jeszcze nie miałem okazji wypróbować. Do niedawna. Okazja nadarzyła się kiedy przyszło mi przedstawić referat. Jakimś dziwnym trafem nawet nie pomyślałem o tworzeniu prezentacji w inny sposób — okazji do poznania nowego narzędzia nie wolno marnować. ;-)

Mobile Computing GigaCon

Konferencja Mobile Computing GigaCon jest jedną z największych imprez w Polsce poświęconych zagadnieniom związanym z komunikacją mobilną ...

w tym tygodniu

— Świat się kończy.— Wiadomo, od dawna się kończy...— Ale w tym tygodniu kończy się szybciej.

double on the floor

Krótko ilustrowana opowieść o tym, jak skomplikowana bywa praca programisty

Phalanger - spotkanie pierwsze

The Phalanger is a complex solution giving web-application developers the ability to benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the .NET platform. This solution enables developers to painlessly deploy and run existing PHP code on an ASP.NET web server and develop cross-platform extensions to such code taking profit from the best from both sides.

guru

Nadal w podobnym duchu pseudofilozoficznego zadumania jak poprzednio...

kiełbasy, ustawy i systemy

Żelazny kanclerz Niemiec Otto von Bismarck mawiał, że lepiej nie patrzeć, jak powstają kiełbasy i ustawy. Dziś należałoby jeszcze jego radę rozszerzyć o publiczne systemy informatyczne.

I co z tego, że działa...

Każdy, kto usiłuje traktować tworzenie oprogramowania z szacunkiem należnym, jeśli nie sztuce to przynajmniej rzemiosłu, musi przyznać, że „działa” to za mało. Program może działać i wykonywać wszelkie zachcianki użytkownika/zlecającego/klienta i równocześnie być zupełnie marnym produktem software'owym.

lepiej późno czy wcale?

Niedawno kolega zadał mi pytanie: „czy ten PL jest faktycznie tak bardzo inny?” Chodziło o porównanie języka PL/I i Javy, a konkretnie o to, czy dzieląca je przepaść może być tak ogromna, że dla niektórych nie do przeskoczenia.

Firefox HTML Validator

Od dawna już nie jestem szczególnym fanem przeglądarki Firefox, na co dzień używam innej, ale przyznam, że niektóre dodatki robią z Firefoksa całkiem przyjemną zabawkę. Na przykład HTML Validator...

Średniowiecze, redux

Autentyczny dialog, jaki usłyszałem wczoraj, na przystanku autobusowym w mieście wojewódzkim na południu kraju z aspiracjami do cywilizacji:

Programiści mają łatwiej - polemika

Kolega Łukasz oczywiście spłyca, jak to profesjonalny analityk, wiadomo ;-) Przede wszystkim mam wrażenie, że popełnia błąd numer jeden wszystkich analityków systemowych wszechświata — nadużycie określenia „programiści”.

Gmail invite - dewaluacja

Po okresie przyglądania się Gmail jako „webaplikacji” częstotliwość mojej aktywności w tym serwisie wyraźnie spadła. Zresztą pewnie nie tylko mojej. Mimo dodawania nowych elementów i usprawnień, o Gmail słychać ostatnio jakby mniej. Zapewne ma to również związek z ciągłą, wręcz przeciągająca się aktualnością tego:

menu / search web

Oglądając dzisiaj program Process Explorer zauważyłem ciekawą opcję w menu kontekstowym — „Google”

Version People Control System

Wybór mechanizmu kontroli wersji i repozytorium kodu dla projektu jest zagadnieniem niebanalnym. Dostępne narzędzia VCS różnią się zarówno wymaganiami jak i możliwościami. Wybór między VSS, CVS czy innym Subversion to dla jednych zagadnienie wyboru platformy lepszej i stabilniejszej, dla innych wybór najwygodniejszego narzędzia, a dla wielu pewnie wybór czysto ideologiczny. Jednak w przypadku VCS wybór narzędzia „najbardziej odpowiedniego” nie zawsze jest wyborem „lepszej” technologii..

wycieczka do piekła

Im więcej różnych programistów lub zespołów roboczych pracuje nad projektem informatycznym w czasie całej jego historii, tym trudniej jest „zgrać” efekty ich działań i tym niższej jakości jest produkt tego projektu. Obserwacja ta wydaje się oczywista, wręcz banalna, a mimo to bywa zupełnie niepojęta

punkt siedzenia - punkt widzenia

Zadanie testowe dla analityka systemowego — czy zaprezentowana poniżej konstrukcja adresu w Polsce jest poprawna przy założeniu, że w rozpatrywanym systemie nie funkcjonują słowniki miejscowości, nazw ulic ani kodów pocztowych; czas wykonania: 7 sekund

beta über alles

Wynalazek wersji beta jest chyba jednym z największych osiągnięć psychologii i polityki w służbie inżynierii oprogramowania. Dopisek „beta” ma dobroczynny wpływ na wszystkich zaangażowanych w projekt informatyczny.

Targeting Small Screens

Truizm: urządzenia przenośne to <del>przyszłość</del> jutro komputerów osobistych. PDA czy inne MDA stają się z dnia na dzień lepsze, szybsze, mocniejsze i ... po prostu ciekawsze.

Sylwester

Sylwester na grzęzawisku nie jest tak do końca dniem powszednim — jak wszędzie, wiadomo. Z tym, że tutaj objawia się to raczej wzmożoną aktywnością, spiętrzeniem wdrożeń i terminów. Z zupełnie niezrozumiałych dla mnie względów koniec roku wydaje się niektórym idealną datą do wstawienia w harmonogram. Może to i ładnie wygląda w planach, jednak powoduje, że w tym okresie średni termin wykonania zadania oscyluje wokół jednego dnia, a czas przeznaczony na testy spada w okolice zera.