Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum dla Wrzesień, 2010

Flare

Autor: Piotr Karpiuk o 28. września 2010

Demo Flare

Demo Flare

W poprzednim poście mieliśmy przykład statycznej prezentacji grafu na rysunku, ale można też inaczej radzić sobie z problemem pokazywania grafu tak żeby krawędzie w miarę możliwości się nie przecinały. Zamodelujmy graf w postaci odpychających się kuleczek połączonych gumkami, umieśćmy w stanie nieważkości i poczekajmy chwilę… Acha, pozwólmy też paluszkami ciągać za wierzchołki!

Flare jest konfigurowalną biblioteką języka ActionScript która pozwala we Flashu uzyskać taki właśnie efekt. Zachęcam gorąco do obejrzenia dema (z menu na górze wybierz Layouts/Force).

Tags: , ,
Napisany w ActionScript, WWW | Brak komentarzy »

Graphviz

Autor: Piotr Karpiuk o 27. września 2010

Przykładowy wynik działania dot

Przykładowy wynik działania dot

Graphviz (ang. Graph Visualization Software) jest stworzonym przez AT&T Research Labs opensource’owym pakietem narzędzi wiersza poleceń oraz bibliotek do rysowania grafów. Graf opisujemy w pliku tekstowym w specjalnym języku o nazwie DOT. Narzędzie nadaje się również dla dużych grafów, gdy np. wygenerowaliśmy sporo danych i chcemy się w nich rozejrzeć.

Przykład: Tworzymy plik graph1.dot o zawartości:

digraph G {
  main -> parse -> execute;
  main -> init;
  main -> cleanup;
  execute -> make_string;
  execute -> printf;
  init -> make_string;
  main -> printf;
  execute -> compare;
}

Następnie z wiersza poleceń wpisujemy:

dot -Tpng -o graph1.png graph1.dot

Wynikiem jest plik graph1.png widoczny na rysunku obok. Dopuszczalne formaty wyjściowe to m.in. PS, PDF, SVG, FIG (do programu Xfig), PCL (do drukarek), PNG, GIF, DIA (do programu Dia). Oczywiście możemy manipulować atrybutami wierzchołków i krawędzi (kolory, kształty, typy linii) oraz ich etykietkami.

Galeria przykładowych grafów

Tags: ,
Napisany w Linux | Brak komentarzy »

Adobe AIR

Autor: Piotr Karpiuk o 21. września 2010

Interaktywna galeria aplikacji AIR

Interaktywna galeria aplikacji AIR

Adobe AIR (skrót od Adobe Integrated Runtime) jest międzyplatformowym (Windows, Mac OS X, Linux, niebawem Android), darmowym środowiskiem uruchomieniowym wykonującym zintegrowane z pulpitem aplikacje RIA, wykorzystujące technologie WWW takie jak XHTML, CSS, JavaScript, Ajax, Flash, XML, PDF. Produkt jest dość nowy (pierwsza wersja pojawiła się w 2008 roku) i niedawno ukazała się wersja 2.0. Wykorzystują go m.in. firmy NASDAQ i AOL.

Wady przeglądarki WWW
Przeglądarkę WWW początkowo zaprojektowano z myślą o wyświetlaniu dokumentów HTML, a podstawowa struktura wszystkich wiodących przeglądarek nadal odzwierciedla to pierwotne przeznaczenie, co powoduje pewne ograniczenia i konflikty, np.

  • interfejs użytkownika aplikacji (skróty klawiaturowe, menu kontekstowe) może kolidować z interfejsem przeglądarki, czego jaskrawym przejawem jest przycisk Wstecz,
  • programista aplikacji WWW nie ma kontroli nad współpracą przeglądarki z innymi procesami na komputerze użytkownika,
  • aplikacja nie obsługuje pewnych interakcji z pulpitem do których użytkownicy są przyzwyczajeni (np. przeciąganie plików między różnymi aplikacjami systemu operacyjnego i pulpitem),
  • brak możliwości pracowania offline i kontroli nad danymi przechowywanymi na dysku klienta,
  • ciągle jeszcze dające się we znaki różnice w implementacji standardów (DOM, HTML, CSS) pomiędzy przeglądarkami co wymusza politykę „najmniejszego wspólnego mianownika” i wpływa ujemnie na oferowane możliwości i komplikuje deweloperkę/testy.

Lekarstwo?
Wyobraźmy sobie platformę uruchomieniową sytuowaną gdzieś pomiędzy pulpitem a przeglądarką, której aplikacje zapewniają wrażenia i funkcjonalność zbliżone do tradycyjnych programów instalowanych w komputerze, a jednocześnie zachowują międzyplatformową naturę sieci WWW i wykorzystują model programistyczny standardowej przeglądarki WWW.

Adobe AIR poza większością funkcji oferowanych przez zwykłe przeglądarki pozwala na:
Czytaj więcej »

Tags: , , , ,
Napisany w ActionScript, JavaScript, Języki programowania, WWW | Brak komentarzy »

OpenStreetMap & OpenLayers

Autor: Piotr Karpiuk o 20. września 2010

Przykład działania OpenLayers

Przykład działania OpenLayers

Od dawna można już osadzić interaktywną mapkę na stronie WWW – nic w tym nadzwyczajnego. Jest jednak kilka aspektów typowego podejścia: potrzebny jest dostęp do Internetu, własna domena i konto w Google, pojawiają się ograniczenia licencyjne. Powiedzmy że chcemy mieć interaktywną mapę Polski offline w wewnętrznym intranecie (a może w telefonie?), z możliwością nanoszenia na nią znaczników, rysowania linii itp.

Zaprezentuję rozwiązanie które po stronie serwera wymaga jedynie prostego serwera WWW udostępniającego statyczne pliki. Po pierwsze trzeba skądś ściągnąć dane do mapy. Na szczęście Google nie jest jedynym możliwym źródłem. Np. javowy program JTileDownloader pozwala ściągnąć mapę dowolnego prostokątnego obszaru Ziemi w postaci kafelków 256×256 pikseli z opensource’owego projektu OpenStreetMap. W formatce podajemy współrzędne geograficzne prostokąta, wybrane skale (np. od 6 do 16) i rodzaj mapy (np. Mapnik), po czym naciskamy przycisk „Download Tiles” i czekamy (być może długo) na ściągnięcie kafelków (kilkanaście GB).

JavaScriptowa biblioteka OpenLayers pozwala na umieszczenie w dowolnym tagu HTMLa mapy, obsługuje jej interakcję z użytkownikiem (w szczególności zoom i przewijanie za pomocą myszki i klawiatury) oraz ściąganie kafelków z serwera WWW.

Przykład zastosowania OpenLayers wykorzystujący większość aspektów o których mowa niżej.
Czytaj więcej »

Tags: , ,
Napisany w JavaScript, Uncategorized, WWW | 1 Komentarz »

Nowe ciekawe polecenia linuksowej powłoki (3)

Autor: Piotr Karpiuk o 17. września 2010

Pełna lista poleceń w Księdze Czarów.

comm -3 a.txt b.txt
wypisuje zmerge'owaną i posortowaną wierszami zawartość obu plików z pominięciem tych wierszy które występują w obydwu plikach; pliki muszą być posortowane wierszami
recode ..HTML < page.txt > page.html
konwertuje plik tekstowy do formatu HTML (znaki poza ASCII zostaną zakodowane jako encje)
whois www.example.com
sprawdza domenę w bazie Whois (właściciel domeny i jego dane teleadresowe)
strace -c ls >/dev/null
wywołania systemowe wywołane i otrzymane przez proces
strace -f -e open ls >/dev/null
wywołania biblioteczne wykonane przez proces
chsh
pozwala zmienić domyślną powłokę dla bieżącego konta; chsh --list-shells zwraca listę dostępnych powłok
xmlwf file.xml
czy plik XML jest poprawny (ang. well formed)
wtf imho
wyjaśnia (rozwija) wskazany akronim, spotkany np. w rozmowie IRCa lub na grupie dyskusyjnej
eject
wysuwa CD-ROM
mpstat -P ALL
statystyki rdzeni procesora
setleds -D +caps
włącza diodę CapsLock na klawiaturze
export CDPATH=.:..:../..:~/:~/katalog_dowiazan
Zmienna $CDPATH przechowuje listę rozdzielanych znakami dwukropka nazw katalogów, które są przeszukiwane przez wbudowane polecenie cd. Pełni ona taką samą funkcję dla instrukcji cd, jak zmienna $PATH dla uruchamianych skryptów. W przykładzie często używane nazwy katalogów w wartości zmiennej; katalog_dowiązań oznacza katalog przechowujący jedynie dowiązania symboliczne do innych często wykonywanych katalogów

Czytaj więcej »

Tags:
Napisany w Bash, Linux | 1 Komentarz »