Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum dla Październik, 2010

Gource

Autor: Piotr Karpiuk o 25. października 2010

Żaba znalazła na YouTubie filmik przedstawiający animowaną wizualizację rozwoju projektu informatycznego w repozytorium Git. Okazuje się że jest opensource’owe narzędzie Gource które pozwala tworzyć tego rodzaju animacje dla własnych repozytoriów Git, Mercurial i Bazaar, a przy odrobinie wysiłku również dla SVN, oraz CVS.

Gource renderuje obraz przy użyciu OpenGL i wymaga karty wideo z akceleracją 3D. No, ale zawsze można nagrać filmik dający się odtworzyć na prawie każdym komputerze.

Więcej animacji.

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

Web Inspector w Google Chrome

Autor: Piotr Karpiuk o 23. października 2010

Przestałem używać Firefoksa i przerzuciłem się na Google Chrome już nie tylko do surfowania po Internecie (jest znacznie szybszy), ale również do deweloperki aplikacji webowych. Uważam że Web Inspector preinstalowany w Chrome może śmiało konkurować ze słynnym rozszerzeniem FireBug do Firefoksa, a są aspekty w których bije konkurencję na głowę.

Pierwszy z linków wymienionych w ramce obok to elegancki tutorial po zakamarkach WebInspectora (otwierającego się w Chromie po naciśnięciu Shift+Ctrl+I). Jeśli nie bardzo masz czas/ochotę czytać całkiem długi tutorial po angielsku poniżej kilka zdań zachęty żebyś jednak to zrobił:

  • podświetlanie składni (HTML, CSS, JavaScript, JSON),
  • w zakładce Elements w polu wyszukiwania oprócz zwykłego tekstu możesz też podawać wyrażenia XPath i selektory CSS; wszystkie znalezione artefakty są podświetlane, pierwszy otrzymuje fokus,
  • edytując wartość numeryczną jakiejś własności szablonu CSS warto użyć klawiszy strzałek do góry i dołu (odejmuje/dodaje 1), z ew. modyfikatorami Shift/Alt (skok co 10, 0.1),
  • zakładka Profiles oprócz czasu wykonania pozwala profilować zużycie pamięci; klikając ikonkę oka w lewym dolnym rogu otrzymujemy profil sterty, tj. migawkę przedstawiającą ilość i rozmiar obiektów uporządkowanych wg. ich klasy; widzimy także statystyki: ile pamięci jest zajętej i jaką część z tego zajmuje kod, a jaką dane; gdy wykonasz więcej niż jeden profil sterty, możesz porównać dwa profile żeby zobaczyć co się zmieniło; pole wyszukiwania w prawym górnym rogu pozwala na wprowadzanie wyrażeń postaci > 2.5ms do znalezienia funkcji które wykonywały się dłużej niż 2.5ms, > 10% do podświetlenia obiektów które zajmują więcej niż 10% pamięci itp.
    Czytaj więcej »

Tags: ,
Napisany w WWW | Brak komentarzy »

Linux Magazine 10/2010

Autor: Piotr Karpiuk o 21. października 2010

Libguestfs to zestaw narzędzi wiersza poleceń pozwalający operować na obrazach dysków, np. virt-df będący odpowiednikiem systemowego df, virt-resize do zwiększania rozmiaru dysku wirtualnego, virt-edit do edycji pliku tekstowego wewnątrz obrazu, czy virt-win-reg pozwalający na dostęp do rejestru Windows w obrazie systemu Microsoftu. Interaktywna powłoka guestfish obsługuje ponad 300 poleceń, można tworzyć własne skrypty (np. do klonowania maszyn wirtualnych z szablonów), dostępne jest API do języków programowania C, C++, Perl, Ruby, Python, OCaml, Java, Haskell i Mono (C#).

Remus to podejście do problemu odporności na błędy dla Xena. Wiele rozwiązań wykorzystuje mechanizm kroków zegara procesora który zapewnia wykonywanie dokładnie tych samych poleceń na obu procesorach dzięki czemu jedna instancja może zawsze zastąpić drugą, choć narzut związany z wydajnością jest ogromny. Remus synchronizuje maszyny wirtualne poprzez migrację (kopiowanie brudnych stron do systemu-cienia) co 200ms. Serwer aktywny buforuje wszystkie połączenia sieciowe i zatrzymuje pakiety do czasu kolejnej synchronizacji, dzięki czemu w razie awarii cień przejmujący kontrolę nie gubi żadnych pakietów.

EUPL (ang. European Union Public License) to stworzona przez Unię Europejską wolna publiczna licencja zaakceptowana przez organizację OSI i kompatybilna z zaleceniami Free Software Foundation, w szczególności zgodna z GPLv2 (m.in. jest „wirusowa”, pozwala każdemu korzystać z dzieła w dowolnym celu i rozpowszechniać go, daje dostęp do kodu źródłowego i zezwala na jego modyfikacje). Na jej powstanie wpłynęło kilka postulatów które nie są spełnione przez GPL: poprawność z punktu widzenia prawnego we wszystkich językach urzędowych UE i uwzględnianie różnic w poszczególnych prawach każdego państwa członkowskiego UE. Większość licencji jest napisana pod kątem USA i zawsze budziło wątpliwości czy interpretacja amerykańskich terminów prawnych znajdzie zastosowanie w innych krajach. Wszystko zaczęło się od tego, że Komisja Europejska stwierdziła, że używanie modelu FOSS jest idealnym sposobem rozwoju oprogramowania dla sektora publicznego. Dzięki abstrakcyjnemu, lecz czytelnemu podejściu, treść EUPL jest znacznie krótsza (ok. trzykrotnie) i łatwiejsza do zrozumienia niż GPL v3.

Vala i Genie to dwa obiektowe języki programowania zaprojektowane do współpracy z GNOME. Pierwszy ma składnię przypominającą C# i Javę, a drugi – Pythona. Czytaj więcej »

Tags: , , , , , , , ,
Napisany w Linux Magazine, Recenzja | Brak komentarzy »

Terminal w przeglądarce WWW

Autor: Piotr Karpiuk o 17. października 2010

ShellInABox zalogowany na Linuksa oraz termlib.js z JavaScriptem

ShellInABox zalogowany na Linuksa oraz termlib.js z JavaScriptem

Przyzwyczailiśmy się, że w przeglądarce więcej klikamy niż piszemy. A jeśli interesuje nas udostępnienie w przeglądarce aplikacji wiersza poleceń? Poniżej małe rozeznanie w dostępnych w internecie podejściach do tematu.

Webowe klienty SSH
Właściwie to dlaczego nie osadzić w przeglądarce czegoś co emuluje jakiś uznany standard terminala, np. VT100? Tak właśnie postąpili twórcy Shell In A Box. Ściągamy pakiet linuksowy, instalujemy go na maszynie serwera (jako usługę systemu) i po chwili możemy w przeglądarce wpisać URL http://host:4200 aby zasshować się do Linuksa. Całość działa wyśmienicie i co najważniejsze: naprawdę szybko. Można uruchamiać nie tylko proste polecenia Linuksa, ale również „pełnoekranowe” narzędzia takie jak Vi czy Midnight Commander. Inne rozwiązania – choć na ogół nie tak efektowne lub bardziej kłopotliwe w konfiguracji – to AnyTerm oraz prostszy w instalacji, dostępny w standardowych repozytoriach Linuksa, napisany w Pythonie AjaxTerm i oparty na nim WebShell. Ciekawie zapowiadają się rozwiązania oparte po stronie klienta na Flashu, np. jsTerm oraz FlashTerm.

REPL
Być może zechcemy logikę aplikacji wiersza poleceń umieścić bardziej po stronie przeglądarki i w JavaScripcie zaimplementować program typu REPL (ang. read-eval-print loop). W szczególności żeby pobawić się JavaScriptem można sięgnąć po JavaScript shell, ale moją uwagę przykuł termlib.js.
Czytaj więcej »

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

Obróbka PDF pod Linuksem

Autor: Piotr Karpiuk o 12. października 2010

Większość naszych potrzeb w zakresie edycji plików PDF na pulpicie zaspokoi rozszerzenie Sun PDF Import dla OpenOffice lub PDFedit. Jeżeli jakiś program nie pozwala na zapis w formacie PDF ale umożliwia drukowanie, to pakiet cups-pdf instaluje w systemie „drukarkę” która generuje plik PDF.

Do konwersji między formatami można użyć narzędzi takich jak pdftops, pdftohtml, pdftotext, pdf2svg, chm2pdf, ps2pdf czy wkhtmltopdf.

PDFjam jest nakładką na pdfpages – popularny skrypt LaTeXa. Pozwala wykonywać czynności takie jak modyfikowanie metadanych, zmiana rozmiaru strony, konwersja formatu na dwustronny, powiększanie/pomniejszanie, kolor tła.

pdftk jest reklamowany następująco: „Jeśli PDF to elektroniczny papier, to pdftk jest elektronicznym przyrządem do usuwania zszywek, dziurkaczem, segregatorem, maszyną szyfrującą i okularami rentgenowskimi”. Pozwala na wykonywanie takich czynności jak łączenie plików lub rozbijanie na pojedyncze strony, obracanie, dołączanie załączników, szyfrowanie dokumentu, nadawanie uprawnień (do oglądania, druku, druku wysokiej jakości, edycji zawartości, edycji komentarzy) i zabezpieczanie hasłem, dodawanie znaku wodnego. Graficznym interfejsem do programu jest PDF Chain.

Przykłady użycia narzędzi wiersza poleceń do obróbki PDF:

pdfinfo plik
informacje o dokumencie
pdfinfo -opw mojehaslo plik
zabezpiecza dokument hasłem właściciela (opcja -upw zakłada hasło użytkownika)

Czytaj więcej »

Tags: , , ,
Napisany w Linux | Brak komentarzy »