IX

09

Firefox + akregator
jako że ostatnio postanowiłem pokorzystać z Firefoxa a że ten ma ubogi i badziewiasty czytnik RSS w sobie to należało pomyśleć nad czymś co jednak będzie pilnować nowych wiadomości a nie tylko pozwalać pooglądać tytuły artykułów przekazywanych w RSSach czy Atomach

i tak koniec z końcem oceniłem że akregator sobie może spokojnie siedzieć i pilnować nowości :)
w sumie to nie problem... problemem okazało się nauczenie firefoxa aby po kliknięciu na adnośnik prowadzący do kanału RSS przekazywał ten URL do akregatora, a zarazem żeby "wywoływał" go w taki sposób:
/usr/bin/akregator --addfeed URL

i teraz... klikana konfiguracja Firefoxa nic mnie nie pocieszała swoją możliwością, więc do roboty i do pomocy zaprzągłem "świętą googlownicę" i jak się okazało pytanie podobne jak ja sobie zadałem zadaje sobie jeszcze pewna ilość i użytkowników, ale ku mojej radości dość szybko wygooglałem odpowiedź jak rozwiązać ten problem :)

otwieramy konfigurację firefoxa, tzn. "about:config" i tam ustawiamy 3 rzeczy:
opcji browser.feeds.handlers.application value ustawiamy wartość /usr/bin/akregator (lub odpowiednio odpowiadającą naszemu systemowi)
potem prawoklik i "dodaj ustawienia typu:" wybieramy "Łańcuch (string)"
i dodajemy: browser.feeds.handlers.application.args a wartością: --addfeed
oraz, browser.feeds.handlers.application.uriPrefix z wartością: feed:

jednak to dopiero kawałek roboty, nie zagłębiałem się dokładnie jaka jest tego przyczyna ale musimy zmodyfikować plik FeedConverter.js (znajdujący się np. /usr/lib/firefox/components/ - lub odpowiednio dla naszej dystrybucji i naszej instalacji przeglądarki) odnajdujemy w nim:
case "client":
      var clientApp = 
        prefs.getComplexValue(PREF_SELECTED_APP, Ci.nsILocalFile);
        [...]
      var ss = 
          Cc["@mozilla.org/browser/shell-service;1"].
          getService(Ci.nsIShellService_MOZILLA_1_8_BRANCH);
      ss.openApplicationWithURI(clientApp, spec);
      break;

i zmieniamy to na:
case "client":
   const PREF_SELECTED_APP_ARGS = "browser.feeds.handlers.application.args";
   const PREF_SELECTED_APP_URIPREFIX = "browser.feeds.handlers.application.uriPrefix";
   var clientApp = prefs.getComplexValue(PREF_SELECTED_APP, Ci.nsILocalFile);
   var feedhandlerArgs = safeGetCharPref(PREF_SELECTED_APP_ARGS).split(" ");
      //get all args words delimitted by space into array
   var uriPrefix = safeGetCharPref(PREF_SELECTED_APP_URIPREFIX);

   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
   file.initWithPath(clientApp.persistentDescriptor);
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   process.init(file);

   if (uriPrefix) spec = uriPrefix + spec;
   if (feedhandlerArgs) {
      var args = feedhandlerArgs;
      args[args.length] = spec; // add uri as last arg at the end
   }
   else
      var args = [spec];

   process.run(false, args, args.length);
   //debug("FeedConverter.js: ", (clientApp.persistentDescriptor + " " + args));

   break;

i już możemy cieszyć się tym że nasz Firefox umie dodawać kanały RSS do akregatora :)
mała rzecz a cieszy :)
testowane i robione u mnie na Firefoxie 3.0.xx

VIII

25

avatarek w mailach
no i patrząc na to jak w mailach od niektórych osób dostaję różne ciekawe kolorowe obrazki postanowiłem sobie też coś takiego zrobić, sprawa okazała się całkiem prosta, a mianowicie robimy PNGa który ma indeksowaną paletę ośmio kolorową, zapisujemy, potem dowolnym (ulubionym) sposobem przewalamy go przez base64 (ja to robię tworząc w KMailu nową wiadomość, gdzie załączam owy plik a potem patrzę w źródle wiadomości co KMail wstawił) i jak mamy już nasz obrazek zakodowany przez base64 dodajemy do każdego tworzonego przez nas maila nagłówek

Face obrazek_base64
gdzie oczywiście w miejsce tego "obrazek_base64" wstawiamy wygenerowany ciąg znaków,
działa cacy w KMailu, w Thunderbirdzie więc pewnie i w innych tego typu miejscach będzie dobrze :)
oczywiście zabawka działa o ile mamy wpływ na całą zawartość tworzonego maila
w programie pocztowym którego używam bez problemy dodałem dodatkowy swój nagłówek ze swoją zawartością

miłej zabawy

EDIT:
kurde, mam w systemie polecenie 'base64', że dopiero teraz mnie tknęło to zobaczyć :)
działa tak jak ma działać, więc "czary" z załącznikami i oglądaniem źródła są bez sensu ;)

wystarczy wynik polecenie
base64 plik.png

VIII

22

sposób na relaks...
W celu rozproszenia nudy podczas dlugiego lotu (np.Warszawa - New York):
1. Wyjmujemy laptopa z torby i kladziemy na kolanach;
2. Powoli i spokojnie otwieramy go;
3. Wlaczamy;
4. Upewniamy sie, ze osoba obok nas patrzy na ekran;
5. Wlaczamy Internet Explorer;
6. Zamykamy oczy, wznosimy glowe ku niebu i poruszamy bezglosnie wargami;
7. Bierzemy gleboki wdech i klikamy na nastepujacy link
8. Upajamy sie widokiem miny osoby obok!

VII

19

mamy stabilną gospodarkę :)
tak często narzekamy że nasza gospodarka jest jakaś niestabilna :P
tutaj dopiero jest ciekawie

VII

06

tydzień bez netu (no nie do końca ;) ) ale bez GG :)
no właśnie...
wyjeżdżam na tygodniowy rajd rowerowy do Częstochowy trasą Pieszej Pielgzymki Podlaskiej na Jasną Górę
wiec tydzień nie będe uchwytny on-line na GG, jeżeli ktoś ma coś super ważnego to albo SMS albo Jabber na którego będę zaglądał wieczorami pewnie jak już będę do snu się kładł (niech żyje Bombus) więc jak ktoś tak bardzo mocno za mną tęski to przepraszam ale albo musi cierpieć mój stan off-line albo zapraszam niech sobie gdzieś założy konto i przez Jabbera ze mną randkuje ;)

to zobaczenia za tydzień :)
pewnie w niedzielę późniejszym popołudniem zawitam już w domu...
coś na pewno skrobnę (wraz ze zdjęciami) jak wróce :)

VI

28

googlowa poczta - ciąg dalszy narzekania
co za kretyn wpadł na pomysł zablokowania załączników .exe i tym podobnych??
ludziom się nudzi??
eee szkoda gadać, po prostu porażka

VI

20

PSI 0.12 <--> sprawdzanie pisowni
no i dziś się zaskoczyłem totalnie...
nie wiem kto dokładnie jest winny tej sytuacji ale jak mam włączone sprawdzanie pisowni w PSI i chcę napisać "obiegówka" to po postawieniu "ó" wywala mi się PSI :P
ciekawe czy ktoś jeszcze ma takie bonusowe stany off-line

Debian testing i wszystko w systemie z repozytorium z testing zapinstalowane
no dobra, PSI kompilowane z SVNa ale to chyba tyle tylko

VI

19

klawiatura multimedialna (xbindkeys)
od dawna mam klawisze multimedialne na klawiaturze ale dotychczas używałem doich obsługi programiku hotkeys, który jednak ostatnio zaczął jakoś nie chcieć od jakiegoś czasu startować wraz ze startem KDE i postawnowiłem zmienić go na xbindkeys który ku mojemu miłemu zaskoczeniu pozwala na bardzo wiele ustawień :)

w swoim katalogu domowym tworzymy plik o wdzięcznej nazwie .xbindkeysrc w którym wpisujemy po kolei polecenie do wykonania i kod klawisza na wciśnięcie którego owe polecenie zostanie wykonane :)
co mi się bardzo podoba pięknie rozróżnia czy dany klawisz został wciśnięty wraz z ew. shift, Ctrl, Alt a co za tym idzie zrobiłem sobie zmianę głośności na klawiaturze oddzielnie dla kanału przez który idzie mi TV a oddzielnie dla PCM :)
mała rzecz a cieszy...

do zczytania klawiszy wydajemy polecenie xbindkeys -k i na pojawionym się okienku wciskamy interesujacy nas klawisz (Page Up) (z ew. wciśniętym "modyfikatorem") w oto naszym oczom ukarzę się w konsoli pięknie:

graffi@dunwyn:~$ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x11 + c:99
Shift+Mod2 + Prior
graffi@dunwyn:~$
co oznacza że wciśnęliśmy "coś" co zostało rozpoznane jako m:0x11 + c:99
tak zczytaną klawiaturę zapisujemy przykładowo (moje wpisy dla zmiany głośności dla kanału PCM i Aux (ten jest ściszany / pogłaszany z wciśniętym klawiszem Ctrl):

"/home/users/graffi/.bin/hotkeys/volume PCM -"
m:0x10 + c:174

"/home/users/graffi/.bin/hotkeys/volume PCM +"
m:0x10 + c:176

"/home/users/graffi/.bin/hotkeys/volume Aux -"
m:0x14 + c:174

"/home/users/graffi/.bin/hotkeys/volume Aux +"
m:0x14 + c:176

teraz tylko w autostarcie KDE pamiętać aby się odpaliło /usr/bin/xbindkeys & i mam działającą ładnie klawiaturę (oprócz przycisków jawnie 'mutimedialnych' przełapane mam jeszcze kilka takich które nie wiem do czego mają służyć a mi akurat służą tutaj :P np. Pause)

VI

18

ssh na niestardowym porcie i login inny niż lokalny - koniec problemów :)
a no właśnie, na uczelni muszę czasami mieć na "oficjalnych" serwerach login inny niż "graffi" i już...
do tego pomysłowość adminów jest wielka wiec serwery ssh nasłuchują na jakimś niestandartowym porcie (co serwer to inny port :P ) więc dotychczas rozwiazanie miałem jedno, a mianowicie sobie konfigurowałem iptables'a któremu takie oto regółki wystarczały do załatwienia sprawy innego portu:
$sbin/iptables -t nat -A PREROUTING -d 212.182.0.175 -p tcp --dport 22 -j DNAT --to-destination 212.182.0.175:xxx

niby spoko...
jednak to rozwiązuje połowę problemu (tzn. inny port) w sumie od tego momentu mogę się już logować tak:
ssh login@matrix

a sprawa loginu?? tak żeby go nie podawać z palca za każdym razem... do tego takich serwerów z niestandardowycm portem ssh jest sporo już w moim przypadku i za każdym pojawieniem się nowego trzeba nową regółkę do iptablesa dodwać - ale poświecenie i ileż to pracy... :P

otóż jest spoób na to wszystko!!
haha :)
i to dość prosty :)
edytujemy sobie plik ~/.ssh/config wpisujemy w nim przykładową konfigurację dla każdego serwera z którym się łączymy a chcemy połączeniu podawać nic oprócz "ssh serwer" :P

Host cezar
HostName 83.3.zzz.xxx
User login
Port port
i teraz wystarczy tylko
ssh cezar
a klient ssh będzie się łączył na zdefiniowany pod nazwą "cezar" komputer na zdefiniowany port z podaną nazwą użytkownika :)
fajne i miłe :)
konfiguracja każdego połączenia kończy się na końcu pliku lub na znalezieniu najbliższego słowa kluczowego "Host"
w ten sposób możemy zdefiniować "n" różnych połączeń na "k" różnych serwerów (n != k ze względu na to że na daną maszynę możemy mieć zdefiniowane różne połączenia z różnymi nazwami użytkownika)

więcej ciekawych funkcji i możliwości skonfigurowania każdego połączenia ssh w manualu
man 5 ssh_config

sama radość :)

wiem że "ameryki" tutaj nie odkryłem, jednak może ktoś dzięki temu wpisowi usprawni sobie swoje połączenia ssh na przeróżne serwery :)