przystajnik

Monthly Archives: Czerwiec 2012

Kombinat Adobe wygasza piece

Szok, zdziwienie i lekką panikę wywołała niedawna informacja o zaprzestaniu przez Adobe prac nad wtyczką FlashPlayer w wersji dla Linuksa i przerzuceniu odpowiedzialności za nią na Google (PPAPI). Jeszcze wcześniej, bo jesienią ubiegłego roku, pojawiły się zapowiedzi Adobe, że nie będzie kolejnych wersji FlashPlayera dla Androida. Następnym ruchem Adobe i potwierdzeniem wcześniejszego było wydane parę dni temu oświadczenie o zaprzestaniu od 15 sierpnia bieżącego roku wsparcia dla wszystkich mobilnych platform. Urządzenia posiadające zainstalowanego FlashPlayera nie będą po tej dacie otrzymywały jego uaktualnień, a dla nowego wydania Androida 4.1 Jelly Bean, FlashPlayer się nie ukaże. Zniknie również z Google Play Store. Innymi słowy, jedyną platformą z aktywnie podtrzymywanym przy życiu FlashPlayerem pozostanie MS Windows.

Brak zdecydowanej ekspansji i zachowawcze zapewnianie niezbędnego wsparcia może oznaczać, że Adobe pogodziło się z tym, że w obliczu HTML5, technologia Flash musi odejść do lamusa. Zresztą sami aktywnie biorą udział w promowaniu czy rozwijaniu nowego standardu. Oczywiście Flash nie zniknie z dnia na dzień, najdłużej będą mogli się nim cieszyć użytkownicy Windowsa, z racji ilości odbiorców dla tej platformy. Lecz raczej nie można już oczekiwać, że leciwy Flash będzie podwaliną pod jakieś przełomowe i rewolucyjne rozwiązanie. A użytkownicy Linuksa będą mogli w końcu odetchnąć z ulgą – bo choć przez jakiś czas wtyczka Flash będzie raczej jeszcze niektórym potrzebna (choćby na potrzeby niektórych gier online), to powoli będziemy wyzwalali się z fochów i fanaberii zamkniętego rozwiązania, którego losowe działanie na Linuksie potrafiło doprowadzić do stanów nerwowych połączonych z bezsilnością.

Opcje, które leczą

Czasami ciężko jednoznacznie ocenić efekt precyzyjnej regulacji protokołu TCP/IP w Linuksie. Wynik działania bogatego asortymentu opcji niekiedy jest na tyle subtelny, że wręcz niemożliwy do wychwycenia. Niemniej, np. wobec problemów ze stabilnością przesyłu danych, które najczęściej przytrafiają się użytkownikom różnych kartami WiFi, warto zainteresować się niektórymi z nich, a mającymi wpływ na jakość połączenia. Wśród wielu różnych ustawień oddziałujących na stabilność prędkości transmisji, najpopularniejsze są poniższe:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_ecn = 0

Rzeczone opcje należy wkleić na koniec pliku /etc/sysctl.conf, a po przeresetowaniu komputera (eh, ten oportunizm), zaczną mieć one wpływ na przepływ danych przez naszą kartę wifi. Czy to działa? To dość indywidualna kwestia – uzależniona od posiadanej karty wifi, sterowników, oraz tego czy wcześniej występował problem ‚hamowania’ transferu. U mnie osobiście wygląda to tak (pomiary za pomocą iperf):

Bez poprawek:
[ ID] Interval Transfer Bandwidth
[ 8] 0.0-10.1 sec 19.1 MBytes 15.9 Mbits/sec
[ 9] 0.0-10.1 sec 17.0 MBytes 14.2 Mbits/sec
[ 8] 0.0-10.1 sec 15.8 MBytes 13.1 Mbits/sec

Z poprawkami:
[ ID] Interval Transfer Bandwidth
[ 9] 0.0-10.0 sec 24.3 MBytes 20.3 Mbits/sec
[ 8] 0.0-10.1 sec 25.1 MBytes 20.9 Mbits/sec
[ 9] 0.0-10.1 sec 25.1 MBytes 20.9 Mbits/sec

Widoczna zmiana w prędkości transmisji jest, lecz czy nie jest to w moim przypadku efekt placebo lub chwilowej poprawy jakości sygnału? A może ktoś wyłączył mikrofalówkę? Sam osobiście nie odczuwałem też uciążliwości zatrzymywania i zrywania się transferu, a to właśnie osobom z tymi przypadłościami dedykowane są powyższe rozwiązania. Zatem każdy musi przetestować to wszystko samodzielnie.

NitroShare – ktoś na drugim końcu kabla

Czy udostępnianie i przesyłanie plików w sieci lokalnej może być łatwe i przyjemne? Może. Lecz inny pogląd na to zagadnienie mają z pewnością wszyscy ci, którzy nieraz łapali się za głowę podczas prób ogarnięcia komunikacji pomiędzy Linuksem <-> Windowsem przy użyciu przebogatej w opcje Samby. Niekiedy nie potrzebujemy haseł, użytkowników, wyszukanych opcji, a tylko na szybko mamy przesłać jakieś dane z punktu A do punktu B. Jeżeli obydwa punkty mieszczą się a w naszym domu, a my od pół godziny próbujemy dociec, czemu Windows nie widzi Linuksa (albo, co gorsza, Linux Linuksa) i vice versa, to oczywistym jest, że takie rozwiązanie zadaje kłam tezie o łatwości i przyjemności…

Na potrzeby ruchu plików w sieci lokalnej powstało już kilka wariacji programowych, lecz tym razem bohaterem ratującym nasz wolny czas zostanie program NitroShare. Dlaczego? Jest niewielki, jest szybki, jest schludny, jest łatwo dostępny za pomocą PPA, występuje w wersji Linux/Windows.

NitroShare - z pulpitu na pulpit

Po zainstalowaniu NitroShare i uruchomieniu go z menu systemowego, w zasobniku pojawi się nam dodatkowa ikonka oraz na pulpicie otworzy się okno na świat – dzięki niemu łatwo prześlemy pliki w którąkolwiek stronę. Oczywiście, transfer jest możliwy tylko pomiędzy komputerami z uruchomionym NitroShare. Program posiada opcje umożliwiające dokładniejsze wyregulowanie jego pracy – wystarczy ikonkę z zasobnika potraktować prawym przyciskiem i wywołać okno ustawień. Uzyskamy dostęp do takich parametrów jak nazwa komputera pod jaką nasza maszyna ma być znana w okolicy, domyślne miejsce zapisu odebranych plików, czy dane mają być kompresowane, czy ma być sprawdzana ich suma kontrolna, o jakich zdarzeniach mamy zostać poinformowani (pojawienie się nowego komputera z NitroShare na pokładzie, itp.), jak mają zostać potraktowane próby przesłania nam pliku (odrzuć, akceptuj, akceptuj wg. nazwy) oraz najbardziej żywotne parametry, czyli komunikacja sieciowa. W ostatniej zakładce odnajdziemy adresy portów – rozgłoszeniowego (broadcast) i transmisyjnego. Na wszystkich komputerach, które mają się pomiędzy sobą komunikować, porty te muszą być tak samo ustawione.

Jak widać, trudno jest zorganizować przesyłanie plików w jeszcze łatwiejszy sposób. Miłośnicy bezpieczeństwa mogą kręcić nosem na brak opcji uwierzytelniających, lecz gdy jesteśmy w obrębie naszego domu i nie lękamy się nikogo, na cóż komplikować rzeczy proste…

Program w wersji dla Ubuntu 11.04/11.10/12.04/12.10 oraz Mint 11/12/13 jest dostępny z repozytorium PPA autora NitroShare:

sudo add-apt-repository ppa:george-edison55/nitroshare
sudo apt-get update
sudo apt-get install nitroshare

Jeżeli ktoś potrzebuje pliku .exe dla Windowsa, znajdzie go na stronie projektu.

NitroShare - podstawowe ustawienia

NitroShare - powiadamianie

NitroShare - nieco automatyki

NitroShare - łączność

Kryzysowa instalacja pakietów

Niegdyś zasoby naszych komputerów wymuszały ścisłą reglamentację niektórych składników, jak choćby przestrzeń dyskowa. Dlatego niektórzy dla partycji / wyznaczali ściśle określone rama – akurat tyle, ile było niezbędne do funkcjonowania systemu. Wszystko po to, aby pozostała przestrzeń dysku umiejscowiona pod /home mogła zostać radośnie rzucona na pożarcie przez gigabajty arcyważnych plików muzycznych i video, o których obecnie nie pamiętamy, a nawet nie rozumiemy, dlaczego były arcyważne. Tak czy owak – niektórzy z nas po tych czasach młodzieńczej fantazji odziedziczyli skromniutkie jak na obecne czasy partycje / o pojemności, powiedzmy 5 – 6 GB. A gdy złączymy to z faktem, iż nie zawsze jesteśmy w stanie wykonać kopię wszystkich danych z dysku, tak by przepartycjonować go według obecnych norm, to nic dziwnego, że w pewnych momentach główna partycja systemowa mówi ‚STOP’. Zakup większego dysku jest oczywiście jakimś rozwiązaniem, ale można inaczej…

Wszyscy dobrze wiedzą o tym, że partycja systemowa zapełnia się, między innymi, przy instalowaniu przez nas przeróżnych programów. Instalacja z repozytoriów jest wygodna, szybka lecz niekiedy niepohamowana w zapewnianiu komfortu użytkownikowi. Oprócz wskazanej przez nas aplikacji, instaluje się czasem sporo pakietów ‚rekomendowanych’, które czasem wnoszą coś w jakość użytkowania programu, a czasem nie. I tu ujawnia się pole do oszczędności i manewru dla osób radzących sobie ze starosłowiańską metodą instalacji paczek za pomocą ‚apt-get‚.

Otóż wystarczy potraktować ‚apt-get‚ parametrem ‚–no-install-recommends‚, by pominął instalację rekomendowanych dodatków. Czy to coś daje?

# apt-get install macrofusion
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Zostaną zainstalowane następujące dodatkowe pakiety:
  enblend enfuse freeglut3 hugin hugin-data hugin-tools libboost-filesystem1.46.1 libboost-python1.46.1 libboost-regex1.46.1 libboost-signals1.46.1 libboost-system1.46.1
  libboost-thread1.46.1 libglew1.5 libpano13-2 libpano13-bin libplot2c2 libzthread-2.3-2 python-pyexiv2 python-pyexiv2-doc
Sugerowane pakiety:
  autopano-sift-c autopano-sift python3 glew-utils1.5
Zostaną zainstalowane następujące NOWE pakiety:
  enblend enfuse freeglut3 hugin hugin-data hugin-tools libboost-filesystem1.46.1 libboost-python1.46.1 libboost-regex1.46.1 libboost-signals1.46.1 libboost-system1.46.1
  libboost-thread1.46.1 libglew1.5 libpano13-2 libpano13-bin libplot2c2 libzthread-2.3-2 macrofusion python-pyexiv2 python-pyexiv2-doc
0 aktualizowanych, 20 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 22,1 MB archiwów.
Po tej operacji zostanie dodatkowo użyte 62,7 MB miejsca na dysku

Natomiast z ‚–no-install-recommends’:

# apt-get install macrofusion --no-install-recommends
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Zostaną zainstalowane następujące dodatkowe pakiety:
  enfuse libboost-filesystem1.46.1 libboost-python1.46.1 libboost-system1.46.1 python-pyexiv2
Sugerowane pakiety:
  python3
Polecane pakiety:
  hugin python-pyexiv2-doc
Zostaną zainstalowane następujące NOWE pakiety:
  enfuse libboost-filesystem1.46.1 libboost-python1.46.1 libboost-system1.46.1 macrofusion python-pyexiv2
0 aktualizowanych, 6 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 3406 kB archiwów.
Po tej operacji zostanie dodatkowo użyte 8980 kB miejsca na dysku

Jak słusznie większości się zdaje, 62MB to o wiele więcej zajętego dysku, niż 8MB.

A jeżeli zmiana podoba się nam na tyle, że postanowiliśmy za każdym razem używać parametru ‚–no-install-recommends’, wystarczy umiejscowić w pliku /etc/apt/apt.conf następujące treści (za pomocą poniższego polecenia):

echo -e 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";' | sudo tee /etc/apt/apt.conf

* powyższy program Macrofusion jest dostępny dopiero po dodaniu repozytorium Highly Explosive (ppa:dhor/myway)

Perły z lamusa – Netcat

Tak, polecenie netcat to według obecnych kryteriów staroć. Mało tego, ten staroć nadal znajduje sie w repozytoriach. Nie uwierzycie – ‚netcat’ nadal może być użyteczne…

Wszyscy którzy momentalnie wywołali ‚man netcat’, już wiedzą – to niepozorne polecenie umożliwia przesyłanie plików między komputerami. Nic wyszukanego – po prostu jeden komputer rozpoczyna transmisję na wybrany port drugiego komputera, który na rzeczonym porcie oczekuje transmisji. A wygląda to tak:

Na ‚serwerze’ uruchamiamy nasłuch:

nc -l -p 6502 > naszplik.txt

A ‚klient’ wysyła:

cat naszplik.txt | nc numer.ip.serwera 6502

Trąci banałem? Oczywiście. Do takich rzeczy są już bardziej rozbudowane rozwiązania. Ale skoro mamy takie niskopoziomowe narzędzie, dlaczego by nie wykorzystać go do mniej oczywistych funkcji, jak… klonowanie dysku? To koncepcja wyłaniająca się z szarówki dnia codziennego – po zainstalowaniu systemu na jednej maszynie, chcielibyśmy przenieść tę samą instalację na kolejny komputer (o tych samych, lub podobnych parametrach). Jak na postęp cywilizacyjne przystało do klonowania dysków/systemów powstało już sporo narzędzi graficznych, lecz piękno prostoty i jednoznaczności tekstowych komend nadal urzeka. Wystarczy obie maszyny (a już na pewno maszynę ‚klienta’) uruchomić za pomocą LiveCD (pendrive, CD), by mieć pełen dostęp do dysku i…

Komputer na którym chcemy mieć duplikat systemu:

nc -l -p 6502 | dd of=/dev/sda

Komputer ‚matka’:

dd if=/dev/sda | nc numer.ip.serwera 6502

Jednak ponieważ kopiowanie całego dysku o pojemności np. 40GB przy przepustowości sieci 100Mbit/s zajmie jakieś 55 minut, klonować można wybrane partycje oraz np. sam MBR. A gdyby ktoś uważał, że praca w konsoli jest poniżej godności, istnieją graficzne nakładki, np. GtkNetCat.

Oczywiście powyższe to jedynie zasugerowanie jednego z zastosowań ‚netcat’. Na podobnej zasadzie można tworzyć kopie bezpieczeństwa systemu, całych dysków, itp. Stara rzecz, a cieszy.

Krótki film o Unity i Gnome-Shell

Wątpię, czy znajdzie się jeszcze osoba, która nie przekonała się na własne oczy czym różni się Unity od Gnome-Shell. Ale jeżeli opowiada o tych różnicach ktoś z odpowiednią aparycją, to dlaczego by nie posłuchać i pooglądać raz jeszcze. Słuchacze niestety muszą wykazać się w miarę podstawową znajomością języka naszej drugiej ojczyzny. A zatem – nie przedłużając, głos zabierze dość mało znana w naszych ojczystych kręgach NixiePixel:

httpv://youtube.com/watch?v=SZU9XzJBgVc

Ubuntu App Showdown – twórz i wygrywaj

Wywiady, sława, nagrody – to wszystko czeka na zwycięzców ogłoszonego przez Canonical konkursu Ubuntu App Showdown. Zasady są bajecznie proste – napisz od podstaw ciekawy program w trzy tygodnie i opublikuj go w Centrum Oprogramowania. Jest o co powalczyć, bo nagrody ufundowane wespół z System76 i Qt to nie tylko koszulki dla każdego uczestnika. Pierwszy trzy pozycje premiowane są telefonami Nokia N9, oraz laptopem System76 Gazelle Professional za pierwsze miejsce, a System76 Lemur Ultra za drugie. Dodatkowo, zostaną przyznane też trzy nagrody (Nokia N9) publiczności, która sama będzie mogła zagłosować na swoje typy za pomocą Centrum Oprogramowania.

Konkurs potrwa od 18 czerwca do 9 lipca bieżącego roku. Jury będzie obradowało od 10 do 13 lipca, a zaraz potem zostanie przeprowadzone głosowanie społeczności. Na ocenę aplikacji złożą się noty za wygląd aplikacji, stabilność, integrację z systemem, innowacyjność oraz użyteczność.

Demonstracja siły – XnViewMP 0.50

Długo można opisywać i rozwodzić się nad nowościami które przynosi ze sobą najnowsza wersja doskonałej przeglądarki plików graficznych XnViewMP 0.50. Ten tworzony w oparciu o biblioteki QT program ciągle trzyma konkurencję na dystans. Oprócz znanych z poprzednich wersji takich oczywistych narzędzi jak ocena i tagowanie zdjęć, segregowania ich w kategorie, wstępna obróbka, masowa zmiana nazw w kolekcji, masowa konwersja i nakładanie efektów, obsługa plików RAW, edycja danych Exif i wiele, wiele innych, XnViewMP nie wyróżnia się niczym szczególnym – umożliwia jedynie wyświetlanie zdjęć i grafik z naszych kolekcji oraz nawigację pomiędzy nimi. Taki żarcik w obliczu ilości opcji zawartych w tej aplikacji…

Jeżeli ktoś chciałby zapoznać się z pełną listą zmian i poprawek, zapraszam pod ten adres. Ja pójdę na skróty i skupię się jedynie na zmianach najbardziej rzutujących na funkcjonalność.

XnViewMP 0.50

Podczas pierwszego uruchomienia zaskoczy nas gustowny kreator ustawień. Im dalej w program, tym więcej zmian – pojawiła się opcja wydruku, przybyło mnóstwo efektów w narzędziu do konwersji, wyszukiwarka podobnych plików (nazwa, zawartość, itp.), zauważymy całą masę poprawek w interfejsie (obsługa kart, itp.) oraz udoskonalony tryb prezentacji zdjęć. Znacznie sprawniej obsłużymy tagi IPTC oraz Exif, ucieszą nas bezstratne obroty zdjęć oraz wyślemy je bez problemu również na FTP lub do serwisów online (Flickr, GlowFoto, ImageShack, TwitPic). Oczywiście to jedynie czubek rogu obfitości z opcjami, jakimi może się pochwalić XnViewMP. Konwersja niemal dowolnego formatu w dowolny inny? Nie ma problemu (nawet z opcjami formatów). Szybka korekta zdjęcia, przekadrowanie, zmiana wymiarów (z wyborem algorytmu)? Zrobione. Profile z naszymi ustawieniami? XnViewMP się tym zajmie.

Efekty masowego rażenia

Podstawowa korekta

Cóż, ktoś musi to powiedzieć głośno bez subtelnych aluzji – XnViewMP na dzień dzisiejszy tłamsi możliwościami niemal każdy inną przeglądarkę plików graficznych. Kroku dotrzymują w jakimś stopniu najnowsze wydania Gthumba, w jakimś stopniu ShowFoto (digiKam), w jako tako Shotwell… I potem długo, długo nic. Oczywiście to wszystko kwestia gustu i potrzeb, jednak jakby tego tematu nie roztrząsać, XnViewMP to mocny zawodnik. Niestety, ma jedną nieprzyjemną przypadłość – jest programem z zamkniętymi źródłami. Ale znam sporo osób, którym to nie przeszkadza.

Dlatego też program można pobrać dla niemal dowolnej dystrybucji bezpośrednio ze strony autora. Znajdziemy tam paczkę deb (32/64bit), oraz archiwum .tgz, które zawiera skompilowany program. Archiwum należy rozpakować i wkomponować gdzieś w swój katalog domowy lub system, a użytkownicy Ubuntu 12.04/Mint 13 dla ułatwienia mogą skorzyć z repozytorium Highly Explosive:

sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install xnview

Tyle RAMu w całym meblu…

Czasy są ciężkie, jak zawsze. Nie ma się co oszukiwać – oszczędzamy na czym się da. W tak żmudnych okolicznościach naszej codzienności, pofolgowanie sobie bezwstydnemu marnotrastwu pamięci RAM może się wydać nie na miejscu. Lecz niektórych muśnięcie dobrobytu obdarzyło maszynami o takiej ilości pamięci, że jej wykorzystaniu podołają tylko specjalistyczne, rozbudowane programy użytkowe. A jak tę nadwyżkę wykorzystać podczas zwyczajnego użytkowania naszego systemu? W końcu pamięć nie używana, to pamięć zmarnowana, a na dodatek to nie są już czasy dla maszyn z małą ilością pamięci…

Można liczyć na to, że nasze gigabajty połknie łakomy Firefox. Ale ten program nawet obwieszony kilkudziesięcioma kartami, zwykle nie wybiera się powyżej 1.5GB. Dla kogoś z pamięcią od 4GB wzwyż – to wciąż daleko od stanu ostrzegawczego. Można podczas przeglądania odpalić klienta poczty, czytnik RSS, odtwarzacz muzyki… I ciągle zmieścimy się w ~2GB. Można temat ciągnąć dalej i zapychać tę pamięć kolejnymi aplikacjami, lecz – jaki cel miałoby takie bicie rekordu? Może lepiej wykorzystać tę nadwyżkę na efektywne zwiększenie wydajności naszego systemu?

W temacie zagospodarowania pamięci istnieje wiele teorii i praktyk, ale tym razem naszą uwagę skupimy na niepozornym katalogu /tmp. Jak wieść gminna niesie, w tej lokalizacji przechowywane są pliki tymczasowe tworzone i używane przez system, środowisko, programy użytkowe, itp. Katalog ten po każdym restarcie systemu jest czyściutki jak łza i gotowy do ponownego zapełniania. Z natury jest to dość tłoczne i gwarne miejsce, gdyż jest tam zapisywanych, odczytywanych i kasowanych mnóstwo plików – i tak w kółko. Gdzie tu miejsce na optymalizację? Otóż katalog ten mieści się na dysku – a jak każdy wie, dyskowe operacje IO trwają dłużej niż te same operacje wykonywane bezpośrednio w pamięci. I oto rozwiązanie, które nasuwa się samo – przenieśmy katalog /tmp z dysku do RAMu!

Pomysł nie jest ani nowy, ani kontrowersyjny, ani pozbawiony pewnych wad. Jednak nadchodzące dystrybucje, np. Ubuntu 12.10 i Fedora 18, będą domyślnie wykorzystywały pamięć na potrzeby plików tymczasowych. Zminimalizowanie operacji zapisu na popularyzujących się nośnikach SSD, pozwala wydłużyć czas ich życia. Wykorzystanie tej metody w przypadku serwerów też się sprawdza (np. katalog tymczasowy dla MySQL). Dlaczego by nie spróbować i na naszym domowym biurku…

Teoria może i zgrabna, lecz co dalej? Otóż dalej okazuje się, że aby uzyskać kawałek pamięci RAM jako miejsce dla naszych machinacji, wystarczy… Zamontować ją we wskazanej lokalizacji. Do tego celu wymyślono właśnie systemy plików ramfs i tmpfs, czyli posługując się nomenklaturą sprzed wojny – ramdyski. Czy ramfs różni się czymś od tmpfs? W sposób zdecydowany:

    Ramfs:

  • Ramfs będzie sie rozrastał dynamicznie, zatem wymaga więcej uwagi z naszej strony. Jeżeli określimy, by ramfs używał np. 512MB naszej pamięci, to po zapełnieniu tego obszaru system nie zaprzestanie zapisywania danych zgłoszonych do zapisu w ramfs. Jak łatwo przewidzieć, mając 2GB na pokładzie i intensywnie użytkując zamontowany ramdysk, możemy doprowadzić do niestabilności, kiedy najzwyczajniej skończy się nam pojemność naszych kości RAM,
  • Ramfs nie używa obszaru wymiany swap,
    Tmpfs:

  • Tmpfs nie będzie się rozrastał bez naszej wiedzy i ponad przydzieloną mu pojemność pamięci. W przypadku przekroczenia ustalonych wartości, zostanie zgłoszony błąd ‚Brak miejsca na urządzeniu’,
  • Tmpfs wykorzystuje obszar wymiany swap,

Jak widać, tmpfs wydaje się być pewniejszym rozwiązaniem. Lecz czy tak samo wydajnym? Przeprowadzone testy za pomocą programu iozone wykazują niemal pomijalne różnice (QUIZ: znajdź element nie pasujący do reszty *):

  • HDD

(…)
Parent sees throughput for 10 mixed workload = 54.50 KB/sec
Parent sees throughput for 10 random readers = 1682.80 KB/sec
Parent sees throughput for 10 random writers = 231.86 KB/sec
(…)

  • Tmpfs

(…)
Parent sees throughput for 10 mixed workload = 2231.96 KB/sec
Parent sees throughput for 10 random readers = 4836.46 KB/sec
Parent sees throughput for 10 random writers = 2346.20 KB/sec
(…)

  • Ramfs

(…)
Parent sees throughput for 10 mixed workload = 1781,81 KB/sec
Parent sees throughput for 10 random readers = 3735.56 KB/sec
Parent sees throughput for 10 random writers = 2381.16 KB/sec
(…)

Czyli wiemu już co, wiemy już dlaczego, czas na rozstrzygnięcie dylematu – jak? Najrozsądniej, to najpierw to zamontować przeznaczony na ramdysk kawałek RAMu:

# dla tmpfs
sudo mount -t tmpfs -o size=512M tmpfs /tmp
# po testach - wpis na stałe w /etc/fstab
tmpfs /tmp tmpfs size=512M 0 0

… lub …
# dla ramfs
sudo mount -t ramfs -o size=512M ramfs /tmp
# po testach - wpis na stałe w /etc/fstab
ramfs /tmp ramfs size=512M 0 0

Parametr size=512M określa pojemność przeznaczonej na ramdysk pamięci – w tym przypadku 512MB. Należy pamiętać, że dla ramfs ten parametr jest mniej obligatoryjny, niż dla tmpfs.

Jak powyższe przekłada się na ogólną sprawność systemu? Na pewno nie możemy oczekiwać cudownego ‚zrywu’ – niektóre operacje przyśpieszą, inne nie, podobnie z aplikacjami. Wszystko zależy od ilości wykonywanych przez program/zadanie operacji na folderze /tmp. Niemniej, gra jest warta świeczki, a za jakiś czas i tak stanie się domyślnym rozwiązaniem w instalowanych przez nas dystrybucjach.

* Tak, osiągi HDD wyglądają jak nie z tej bajki

Torvalds vs. GNOME 3

Deweloperzy GNOME 3 nie mają łatwego życia z Linusem Torvaldsem. Od czasu debiutu nowego podejścia do kwestii użytkowania pulpitu w Gnome-Shell, Linus co jakiś czas wypowiada się, oględnie mówiąc, dość niechętnie o tym, do czego próbują nas przekonać osoby odpowiedzialne za projektowanie interfejsu w nowej odsłonie GNOME. Pierwsze komentarze Linusa pojawiły się w zeszłym roku, gdy po przygodzie z Gnome-Shell zadeklarował, iż wraca do XFCE (cyt. ‚to krok wstecz w stosunku do GNOME 2, ale ogromny przed GNOME 3’). Mijały miesiące, GNOME 3 się rozwijało, a Linus niedawno postanowił zaktualizować swoją stareńką Fedora 14 do wersji 17. To jednocześnie spowodowało kolejne podejście Linusa do aktualnej wersji GNOME 3.4 – które w Fedorze występuje niemal w wersji ‚dziewiczej’, czyli bez ingerencji ze strony twórców dystrybucji. Torvalds słusznie przewidział, że po takim czasie rozwoju środowiska wiele błędów z pewnością poprawiono, a z brakami w funkcjonalności spróbuje sobie poradzić za pomocą rozszerzeń z extensions.gnome.org. Chęci miał dobre i z werwą zaczął ustawiać środowisko pod swoje wymagania…Jednak już na samym początku Linus zauważył, że w GNOME 3 prozaiczna zmiana domyślnych fontów to nadal czynność wymagająca ‚sztuczek’ i szukania obejścia problemu. Oczywiście, gnome-tweak-tool załatwia sprawę, lecz nie jest to domyślne narzędzie środowiska GNOME 3 – zatem oficjalnie fontów zmieniać się nie da. Sfrustrowany Linus miał już potem z górki – instalowane rozszerzenia z extensions.gnome.org niekiedy przywracały wymagane zachowanie środowiska (choćby ‚Ulubione’ na panelu, dzięki czemu nie trzeba nurkować myszką w Gnome-Shell), niekiedy psuły wygląd, czasem odmawiały działania ze względu na posiadaną wersję GNOME, a innym razem były nie do znalezienia w gąszczu innych rozszerzeń. A na dodatek po ewentualnej aktualizacji systemu, nowa wersja GNOME może nie być odpowiednia dla zainstalowanych rozszerzeń i cały magiczny cykl poszukiwania i testowania trzeba będzie powtórzyć. Rekomendowana przez wszystkich fanów praca przy użyciu skrótów klawiszowych również nie do końca usatysfakcjonowała Linusa…

I’m really tired of the f*cking old “just use the keyboard shortcuts” crap. Sure, if you’re a keyboarding person, then gnome3 is a big improvement. But dammit, if you’re like me, and you write using the keyboard, and then use mousing for other operations, gnome3 is just not doing the right thing.

A Linus nie chciał wiele:

And what irritates me is how the gnome3 fanboys (and more importantly, developers), seem to never acknowledge that different people have different tastes. The whole “we know best” thing is a disease.I’m really not that odd. I want a few things:
– smaller fonts (especially window decorations)
– sane “start new terminal” without multiple steps from the panel
– auto-hide the panel so that I don’t have to feel “all emo all the time”
– focus-follows-mouse
– the ability to use a few default flags for certain programs

and the fact is that none of the above are “odd” requests, but for some unknown reasons gnome makes these fundamental things really inconvenient and hard to find.

Choć twórca Linuksa może nie jest jakimś wybitnym autorytetem w dziedzinie interfejsów użytkowych, to na pewno nadal cieszy się sporą estymą w środowisku i jego wypowiedzi odbijają się gromką czkawką deweloperom GNOME 3. Jego ocena użyteczności środowiska na pewno jest nacechowana siłą przyzwyczajeń (cyt. ‚start new terminal without multiple steps from the panel’), lecz nie można mu odmówić prób dostosowania się do ‚nowego’. Cóż jednak z dostosowania się, skoro co krok można się natknąć na niefrasobliwość deweloperów, krótkowzroczność (niekompatybilność wtyczek do środowiska) i promowanie jedynego i słusznego stylu użytkowania środowiska. Dla niektóry są to rzeczy nie do przeskoczenia przy jednoczesnym zachowaniu stylu pracy i wydajności. Czy zatem pierwotne założenia środowiska GNOME 3 zostaną złożone na stosie ofiarnym czasu niepokory i niedługo zobaczymy wdrażane z powrotem typowe i stosowane do tej pory rozwiązania? Czas pokaże, lecz statystyki zainteresowania środowiskami graficznymi wskazują, że deweloperzy GNOME 3 nadwyrężają cierpliwość wielu osób i muszą pomyśleć o rozwiązaniu satysfakcjonującym obie strony.

Nie edytuj z nieznajomym, czyli historia wersji 0.6

Na scenie nieliniowych edytorów wideo dla Linuksa, dzieje się ostatnio sporo zdrowego ruchu. Oprócz wciąż rozbudowywanych i docenionych przez użytkowników takich programów jak OpenShot, Kdenlive, PiTiVi, LiVES, Flowblade, w kolejce na wydanie oczekują rozbudowane edytory Lightworks czy Novacut… Wróć – Flowblade? A cóż to takiego?Choć rozwijany od 2009 roku, projekt Flowblade aż do najnowszego wydania 0.6 był praktycznie nieznany. Ten zaginiony w repozytoriach Google program, to rozbudowane narzędzie do efektownego składania i renderowania projektów filmowych, lub jak mówią fachowcy – nieliniowej edycji wideo.

Flowblade 0.6.0

Jak na program pozostający w ukryciu i w cieniu swoich sławnych braci (OpenShot, Kdenlive, itp), Flowblade oferuje zaskakująco dużo możliwości. Klipy wideo umieszczone na linii montażowej można sklejać, łączyć, przycinać, mieszać – wszystko przeciągając je w odpowiednie miejsce i wybierając odpowiednie efekty. Do dyspozycji mamy 5 trybów kompozycji (łączących pliki wideo ze sobą), 19 sposób mieszania (dodawanie, twarde światło, nakładanie, itp.), 41 wzorów przejść. Oprócz tego, użytkownik do dyspozycji otrzymuje 46 filtrów wideo (korekcja koloru, kanał alpha, rozmycie, itp.) i 29 audio (echo, dystorsja, pogłos, itp.).Wynik naszej pracy możemy zapisać do jednego z wielu formatów wyjściowych – mpeg2, mp4, h264, Theora – innymi słowy, do wyboru ze wszystkich formatów obsługiwanych przez MLT/FFmpeg. Dodatkowo, osoby bardziej wymagające, mają do dyspozycji możliwość podania swoich własnych parametrów i argumentów (FFmpeg) regulujących renderowanie efektu końcowego. Dodatkowe podpowiedzi można znaleźć na stronie Flowblade, gdzie umieszczony instruktażowy materiał wideo.Flowblade zapewne niedługo trafi do oficjalnych repozytoriów Ubuntu/Debiana, a na dzień dzisiejszy program można pobrać ze strony autora. Dostępna jest paczka .deb, a ponieważ edytor napisany jest z wykorzystaniem Pythona, nie powinno być problemu z uruchomieniem go na dowolnej dystrybucji. Wymagane jest jednak spełnienie zależności wymaganych przez program.

Depends: python (>= 2.5), python-support (>= 0.90.0), gtk2-engines-pixbuf, librsvg2-common, melt, python-gtk2, python-mlt3 | python-mlt2 | python-mlt, frei0r-plugins, swh-plugins, fontconfig, python-cairo, python-numpy, python-gnome2

Converseen 0.5 w doskonałej formie

Converseen 0.5

Znany i doceniany projekt Converseen w nowej odsłonie (0.5) może się niejednej osobie spodobać. Ten rozbudowany program do prostej konwersji formatów graficznych doczekał się przebudowania i poprawek w interfejsie, sprawniejszego generowania miniatur, dokładniejszego odseparowania wyników konwersji od materiału źródłowego (inny folder, nazwa, itp), obsługi kanału alpha i usprawnienia samego procesu konwersji. Zmiany jak to zmiany, jednak intuicyjność programu i dostępne pod palcem ustawienia wybitnie wspomagają pracę. Praktycznie nikt nie powinien mieć problemów z dodaniem obrazów do kolejki, wybraniem parametrów obróbki, zmianą wymiarów (proporcjonalnie, nieproporcjonalnie, procentowo lub wg. pikseli), docelowego miejsca zapisu. Jedyny moment zawahania przychodzi, gdy docieramy do listy formatów, na jakie możemy przerobić materiał wejściowy – program obsługuje ich ponad 100 rodzai, od najpopularniejszych png, jpg, bmp, tiff po te zupełnie egzotyczne dla większości użytkowników. Wobec powyższych przyzwoitych możliwości brakuje może tylko bardziej rozbudowanych opcji zapisywanego formatu (póki co mamy do wyboru tylko stopień kompresji jpg i png). A po ustaleniu wszystkich parametrów, folderu docelowego i kliknięciu ikonki ‚Convert’, ukaże się nam okno postępu, z którego bezpośrednio po zakończeniu prac możemy otworzyć lokalizację z wynikami konwersji.

Converseen - okno programu

A program możemy zainstalować po dodaniu do systemu (Ubuntu od 10.04 do 12.04/Mint od 9 do 13) repozytorium PPA:

sudo add-apt-repository ppa:faster3ck/converseen
sudo apt-get update
sudo apt-get install converseen

Użytkownicy innych dystrybucji (Arch, Fedora, OpenSUSE) na tej podstronie znajdą informacje, jak Converseen zainstalować u siebie.

Translate »