10 stycznia 2014

Jak otworzyć wiele okien X11 - proporcjonalny podział ekranu

Spotkalem się dzisiaj z problemem jednoczesnego otwarcia wielu okien jakiegos oprogramowania w systemie X-window. Podejrzewałem, że skoro menadżery okien X11 radzą sobie z tym z automatu, to może coś z "x" na początku istnieje do tego celu i nie trzba pisać skryptów. Okazuje się, że x-tile pozwala na proporcjonalne otwarcie wielu różnych okien programów jednym kliknięciem.

Przypadek użytkowy - potrzebuje szybko zaprezentować w celu porównania 6 dokumentów PDF ew. obrazów JPG na jednym dużym monitorze. X-TILE świetnie sobie z tym radzi - testowałem na X11 w wersji GNOME na Ubuntu i polecam.

Poszczególne kroki działania

1. Wykonujemy polecenie otwierajace w tle wiele okien przegladarki z obrazkami dostepnymi w katalogu (z konsoli Linux):

find . -iname '*.jpg' -exec sh -c 'echo "{}" ; gthumb "{}" &' \;

2. Instalujemy x-tile z podanego x-tile

sudo dpkg-i ~/Downloads/x-tile_2.5-1_all.deb

3. Uruchamiamy zainstalowany program x-tile

x-tile

4. Wybieramy w x-tile aplikacje z listy i klikamy na ikonke, po czym wybieramy w ilu rzędzach i kolumnach chcemy rozłożyć okna

5. Poniżej przykładowy efekt działania z 6-cioma obrazkami JPG przypadkowo pobranymi z sieci

Może znacie jakieś magiczne skróty klawiszowe do tego celu ew. inne rozwiązania ... chętnie się dowiem jak to się robi na Mac OSX :-)

9 stycznia 2014

ArduSat - satelita Open Source & Hardware zbudowany jak Arduino - AVR w kosmosie

Jak miło czyta się kolejne wątki twórczości Open Hardware, które zbliżają nas do kosmosu ;-)

Otóż, okazuje się, że są na świecie fanatycy (czyt. fascynaci) wysyłania sztucznych satelitów i do tego testują kod Open Source na orbicie. Cały pic polega na tym, że projekt ArduSat powstał na kickstarter.com i pozwoliłz założenia programistom umieszczać swój kod na orbicie - a to dla każdego GEEKa, fana sci-fi, marzyciela-elektronika ;) ... zaiste fenomenalny pomysł !!!

Za ok. $500 można zakupić moduł do zbudowania własnego satelity o otwartych źródłach !!!

Ta powyższa wiadomość wstrząsnęła mną dość konkretnie, bo w sumie konstrukcyjnie nie jest to jakiś zaawansowany twór (zawiera 16-cie mikrokontrolerów AVR t.j. używam\ słynny projekt Arduino. Można powiedzieć, że jest to wieloprocesorowy projekt kompatybilny z Arduino.

Autorzy założyli, że jeden mikrokontroler będzie odpowiedzialny za jeden typ pomiaru, co może okazać się dość racjonalne na orbicie. Dlatego, że przy tak zmiennych warunkach atmosferycznych, w szczególności temperaturowych krzem może zachowywać się dość nieprzewidywalnie. Rozdzielenie kompetencji na wiele mikrokontrolerów jednoukładowych (czyli wyspecjalizowanych procesorów z przetwornikami w środku) zapewni utrate jednego pomiaru, jeśli zawiedzie procesor a nie 16-tu, gdyby wszystko było mierzone jednym kontrolerem. Oczywiście, jest też niezbędny nadzorca, który został tam zainstalowany i pełni rolę watchdoga oraz spina magistralę danych modułu.

Dla miłośników areonautyki i startów rakiet załączam pełnometrażowy dokument, który pokazuje umieszczenie ArduSat na orbicie :-) Przyjemnego oglądania i rozmyślania... byćmoże to Wy wpadniecie na kolejny takiej skali pomysł użycia popularnych 8-bitowych procesorów w wielkim eksperymencie

Linki:
* Ardusat access to a satellite in space for as little as 350

19 grudnia 2013

Perl - język programowania z historycznym 25-letnim garbem

Każdy programista słyszał o zacnym ;-) skryptowym języku programowania Perl. Jego historia sięga 25 lat i doczekała się wersji Perl 5 (przy czym Perl 6 jest w przygotowaniu). Uroczystość świętowania urodzin Pela ;) to tradycja dla kilku wiekowych już fanatyków rozwiązań powstałych w tym języku. Tradycyjnie jak co roku stawiają piwko i tort na stół obgadując nowinki w kolejnych wersjach.
Wszystko byłoby w normie, gdyby nie fakt że grupę programistów języka Perl można policzyć na palcach ... poprawcie mnie jeśli się mylę ?!

Zastanawiam się, czy ta impreza nie powinna być nazywana stypą, kiedy patrzę na statystyki stosowania w nowych projektach oraz wdrażania produkcyjnych rozwiązań. Postanowiłem nieco przyjrzeć się w tym artykule nieco współczesnym wdrożeniom aplikacji w języku Perl.

Zapewne Larry Wall, który jest ojcem tego języka programowania pokładał w swoim projekcie wielkie nadzieje i wierzyny wszyscy, że był to wytwór epokowy. Za co należy oddać szacunek ojcowi Larremu ;-). Tak się składa, że CPAN, jako repozytorium stabilnych modułów do języka Perl utrzymuje się i rozwija w stanie jak 25 lat temu. Aczkolwiek programiści sięgający do tego języka czują jego fenomen a zarazem odrazę patrząc na wiele linii kodu wytworzonego wiele lat temu. Oczywiście nie ma co oceniać algorytmów, które mają swoje pokrycie testami. Na myśli mam zastosowane wzorce architektoniczne w produktach Open Sourcewytworzonych przy pomocy języka Perl. W sumie to ciężko odgadnąć czasmi co autor miał na myśli czytając źródła, ale zastanawiam się często czytają kod Perla, czy musi zawierać nieczytelne komplikacje składniowe. No cóż, okazuje się, że to są właśnie podstawy tego języka: $#, @, $@, &$@ i kilka innych trickow. ...

Chciałbym poruszyć też pewną kwestię historyczną, kiedy ok. 13 lat temu społeczność Perla przegrała z ruchem w językach PHP oraz Python. Tak się skłąda, że obserwowałem jako praktykujący programista ten trend i dzisiaj widzę po wykresach, że czas szykować się na stypę, która może odbędzie się niedługo. Oto zrzut trendów zainteresowania Perlem w porównaniu do alternatywnych języków skryptowych:

Podkreślić należy - bo większość zapomniała - że język PHP wzorował się na Perlu. Dodać trzeba, że jeśli chodzi o przetwarzanie wielkich ilości tekstu oraz stosowanie przy tym wyrażeń regularnych, to inne języki skryptowe mogą się kłaniać, w Perlu działa to na prawdę wydajnie. Znam adminół i devopsów, którzy nie boją się powiedzieć "mamy w du..e pythony, ruby, bash, zsh i inne ... przecież w każdym UNIXie jest Perl i działa od zawsze !". Tutaj nie mogę się kłucić, bo faktycznie od kiedy pamiętam to Perl był zawsze w OSach, od VxWorx, QNX, FreeBSD, UNIX, poporzez Linuxy aż do co ciekawe Androida, których używam na codzień ;-).

Język Perl posiada kilka liczących się na świecie wdrożeń słynnego systemu OTRS, czyli wsparcia dla obsługi klienta (helpdesk). W aktualnej wersji dodano nawet wsparcie dla całego procesu obsługi zgodnego z metodyką ITIL. System wspiera grupy klientów, bazy klientów, obsługę zgłoszeń w systemie kolejkowym z priorytetami i SLA. Od wersji 3.2 posiada skalowalne i konfiigurowalne API, zarówno SOAP jak i REST z bindingami do metod wewnętrznych, dzięki którym w prosty sposób można integrować np: z Call Center, czy obsługą telefoniczną zgłoszeń.

Oto jak autor wypowiada się o swoim ulubionym języku programowania ;-)

Pozdrawiam serdecznie wszystkich z okazji ukończenia 25 rocznicy języka programowania Perl i mam nadzieję, że się nie obrażą na moje wypowiedzi o obumierającej już społeczności tego języka. Z trendów wynika, że pozycja 9 w 2012, 12 w 2013, czyli z pierwszej dwudziestki Perl najpewniej wyleci za kilka lat ... lub stawiam kratę, jeśli okaże się za kilka lat, że jest to język wiecznie żywy;)

Linki:
 * http://adambard.com/blog/top-github-languages-for-2013-so-far/
 * http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html