Mój wirtualny schowek

Konsola w windows? Da się!

4 czerwiec 2007, autor: xis

konsole.pngWszyscy sympatycy np. Basha (i chyba nie tylko ci), którzy mieli kiedykolwiek do czynienia z windowsowym cmd.exe, zgodnie przyznają, że produkt z Redmond nie przyniósł rewolucji w dziedzinie obsługi wiersza poleceń. Mimo, że w windowsach linii NT sytuacja polepszyła się diametralnie, to możliwości skryptowo-konsolowe okien są wciąż, delikatnie mówiąc, marne i nawet nie umywają się do potęgi duetu Bash+Konsole.

Znalazłem jednak ostatnio kilka sposobów by sobie z tą sytuacją poradzić. Pierwszym z rozwiązań jest oczywiście CygWin, dzięki któremu można już cieszyć się dobrodziejstwami SH w windows. Teraz znalazłem też i sam konkretny emulator terminala - otwarty i dużo mniej toporny.
Z tymi narzędziami praca w tym, niezbyt lubianym przeze mnie, systemie staje się od razu mniej męcząca :)

Kategorie: Do zapamiętania | 1 komentarz »

Mobilne Qt? Czemu nie!

10 maj 2007, autor: xis

qtlogo_feature.pngNa stronie Trolltecha, producenta biblioteki Qt (chyba najlepszego toolkitu dla C++, słynącego chociażby ze swojej technologii Slots&Signals), wspaniałej biblioteki Qt ;) pojawił się bardzo interesujący zwiastun. Otóż panowie i panie z Trolltecha pracują (ponoć już od października 2006) nad wersją Qt dla Windows CE.
Co to oznacza?
Przede wszystkim to, że - poza Javą - na platformy Windows Mobile pojawi się wreszcie konkurencyjna dla MFC/.net technologia (dzięki natywnym kompilacjom dla odpowiedniej platformy będzie na pewno dużo wydajniejsza od Javy), do tego otwarta, dostępna, dość znana i - przede wszystkim - potężna. Warto pamiętać, że Qt świetnie sprawdziło się już w urządzeniach mobilnych - czego dowiodła Qtopia.
Ciekaw jestem jak będzie wyglądała sprawa licencjonowania (naiwnie marzę o double-licensingu jak w wersjach desktopowych Qt, ale pewnie będzie tylko commercial).
Jakkolwiek na to nie spojrzeć - to dobra wiadomość!

Kategorie: Programowanie | Komentarzy: 2 »

QStringList w DCOP - Firefox i Akregator razem

1 maj 2007, autor: xis

AkregatorNiejeden pewnie zna zalety mechanizmu DCOP. Jeszcze więcej osób używa go z pasją nawet o tym nie wiedząc. Dzięki niemu np. możliwa jest komunikacja wielu aplikacji KDE ze sobą, a także komunikacja użytkownika z aplikacjami (np. z poziomu skryptów). Mechanizm, dzięki temu, że jest dobrem ogólnym KDE, jest niesamowicie potężny. Zwłaszcza wsadowa komenda dcop.
W moim MetaMonitorze na przykład możesz ‘zdalnie’ uruchomić okno konfiguracyjne, pokazać komunikat, zamknąć go itd. Możesz wymusić sprawdzanie poczty w KMail jednym poleceniem (wpisanym np. do Crona), jeśli oczywiście chcesz, bo KMail ma własny mechanizm sprawdzania poczty co jakiś czas. ;) Możesz napisać skrypt, który wyświetla użytkownikowi pytanie o to czy np. chce przejść na stronę domową projektu, a gdy ten się zgodzi, wykonać:

dcop konqueror KonquerorIface createNewWindow http://moja.strona.net

Generalnie reklamować DCOP nie trzeba (może warto tylko dodać, że w KDE 4 będziemy mieli jeszcze lepiej za sprawą nowocześniejszego i jeszcze bardziej powszechnego D-Bus, który nie jest ograniczony tylko do KDE).

Było jednak coś, co nie pozwalało mi wykorzystywać dobrodziejstw polecenia dcop w pełni. O ile przekazywanie argumentów numerycznych było proste (wystarczy wpisać liczbę), argumentów tekstowych dość intuicyjne (stringi piszemy w apostrofach jeśli zawierają kilka słów, lub niekoniecznie z nimi, jeśli to tylko jedno słowo), o tyle przekazanie argumentu QStringList było dla mnie czarną magią.
Jak to się robi? Kombinowałem ze wszystkimi znanymi mi sposobami i nic…

Dopiero Michelle sprawiła, że zająłem się tym nieco konkretniej. Michelle używa Firefoksa, a - jak wszyscy wiemy - jego wbudowany czytnik kanałów RSS jest, delikatnie mówiąc, dość ubogi. Więc jak tylko zaraziłem Ją RSSoManią, natychmiast pożałowałem, bo przygniotła mnie sterta pytań ‘A jak ustawić, żeby…’ ;) Na pomoc przyszedł mi Akregator - niesamowity czytnik. Wygodny, konfigurowalny, szybki i… KDE’owy :) Pozostał tylko jeden problem. Jak przekazać Akregatorowi informację o URL kanału z poziomu Firefoksa? Na szczęście FF ma możliwość wykonania komendy z adresem kanału. No, ale tu właśnie pojawił się problem. Interfejs DCOP Akregatora pozwala wprawdzie na dodanie do niego kolejnego URL kanału RSS, jednak postać polecenia jest taka:

xis@hedera ~ $ dcop akregator AkregatorIface
QCStringList interfaces()
QCStringList functions()
void openStandardFeedList()
void fetchFeedUrl(QString)
void fetchAllFeeds()
void saveSettings()
void addFeedsToGroup(QStringList,QString)
void exportFile(KURL url)
void addFeed()

Łatwo się domyślić, że pierwszy parametr to lista URLi, a drugi to grupa, do jakiej mają być kanały dodane. I jak tę listę przekazać? Ano tak:

#!/bin/bash
dcop akregator AkregatorIface addFeedsToGroup [ $1 ] Michelle

Taki skrypcik zapisujemy pod postacią np. ‘addrss’, dajemy prawa wykonania, umieszczamy gdzieć na naszej $PATH i już możemy konfigurować Firefoksa wskazując mu komendę addrss do wykonania przy dodawaniu kanału informacyjnego.

Działa super :)

Dodam tylko, że aby przekazać w QStringList większą ilość stringów, wystarczy oddzielić je przecinkami.

Kategorie: Do zapamiętania, Linux | Komentarzy: 3 »

Katedra i bazar - po polsku

13 kwiecień 2007, autor: xis

Dla miłośników ruchu Open Source dokument The Cathedral and the Bazaar E.S. Raymonda to żadna nowość, ale jego polska wersja na pewno ucieszy i ich :)
Zachęcam do lektury nie tylko tych z jasnej strony mocy - myślę, że ten kawałek tekstu (który wszak narobił swego czasu sporo szumu na rynku internetowym) może być inspiracją dla niejednego programisty/projektanta.

Kategorie: Linux | Brak komentarzy »

Pan płaci, Pani płaci…

3 kwiecień 2007, autor: xis

Zawsze denerwowała mnie rozrzutność polskiego rządu (nie tylko mnie i nie tylko rozrzutność ;) ), zwłaszcza w kwestii wydatków na infrastrukturę informatyczną. Niby jestem informatykiem, zarabiam na chleb pisząc oprogramowanie, które następnie jest sprzedawane. Powinienem zatem cieszyć się, że ceny software’u są jakie są.
Nie mogę jednak znieść tego, że ZUS wyda na oprogramowanie biurowe Microsoftu 62 miliony złotych (sic!). Tak, chodzi o ten sam ZUS, instytucję, która stoi na skraju wypłacalności. Nie mogę znieść dlatego, że alternatywny pakiet oprogramowania, które swoją funkcjonalnością w ogóle nie odbiega od propozycji Microsoftu (oba pakiety spełniają potrzeby ZUSu w 100%) jest… darmowy.
Nie jestem za radykalnym uwalnianiem instytucji państwowych. Zdaję sobie sprawę, że większość urzędników jest niereformowalna, nigdy nie nauczy się obsługi choćby najprostszego Linuksa, dlatego musimy wyjąć z naszej kieszeni i kupić im Windows. Jestem w stanie się z tym pogodzić - przynajmniej w tej chwili. Ale to, że mając do wyboru dwa niemal identyczne w obsłudze pakiety, kupuje się ten droższy, bo… no właśnie? - to jest dla mnie absurdem totalnym. Dlatego zachęcam do przyłączenia się do akcji i podpisania się pod petycją.

Kategorie: Linux, Ogólnie | Komentarzy: 2 »

« Poprzednie wpisy Następne wpisy »