[GiM logo]gim.org.pl is down || odświeżony jogger (v.0.4) GiMa

gim photo
Michał 'GiM' Spadliński
programowanie, google, *nix, av, re
last buzz

mini:
  • The Cambist and Lord Iron

    by Daniel Abraham for free @issuu or @POD Castle.

  • Dark Side of C++

    [link]

  • Lost

    No i koniec.

  • Vista vs Open / Save As Dialog Box

    Zdaje się, że od XP 'Save As' i 'Open' pamiętają folder, gdzie ostatnio się pracowało. Jest to dość irytujące w z zachowaniem, do którego większość się chyba przyzwyczaiła, gdzie dialogi te startują w aktualnym katalogu.

    Żeby to zmienić w Viście, wystarczy odebrać sobie prawa do odczytu klucza: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\comDlg32\LastVisitedPidlMRU. To pewnie nie jest najlepszy sposób, ale dla aplikacji z których korzystam DZIAŁA :P

  • Holy fsckin cow

    Zastanawiam się, dlaczego nie wygooglałem tego wcześniej: Speed up powershell startup

  • numery tygodni w Google Calendar

    Nie wiem czy da się to zrobić, jakoś prościej, w każdym razie znalazłem takie fajne coś: google calendar week numbers

  • xps przykłady dokumentów
    Może komuś się przyda: klik
  • D tutorials
    Kilka video tutoriali o podstawach D, różnych edytorach instalacji dmd, tango.
  • niech mi z oczu zejdą

    Każdy problem ma rozwiązanie,
    jeśli nie ma rozwiązania, to nie ma problemu, nie ma problemu

    Ej, człowieku to jest przecież jakiś horror,
    to nie tędy dróżka, jeśli chcesz żeby jakaś fróźka
    poszła z tobą do ee kina

  • powershell - path

    Do zapamiętania:
    PS> $env:path
    PS> $env:path = $env:path + ";c:\blah"

  • Jakiś czas temu...
    ...napisałem, że Programowanie Uogólnione (generic programming), brzmi syfnie, wycofuję się z tego zarzutu, po pierwsze sam zaczynam stosować to sformułowanie, poza tym po dłuższym namyśle brzmi całkiem nieźle, na pewno lepiej niż 'programowanie generyczne', także trochej, zwracam honor : )
  • Kimya Dawson - Loosy Lips
    we won't stop until somebody calls the cops
    and even then we'll start again and just pretend that
    nothing ever happened

Szorty gima (obsolete):
loading...
24
lipiec-2008
183307

Ever since I started using Opera I've always had ctrl+d binded with "Paste and Go". However after upgrade from 9.5 beta to 9.51 behaviour has changed and it seems opera stopped using Xorg clipboard.
I've shed many tears ;) but didn't break down and finally found something that works the way I like it:
In keyboard setup in Application item add combo you like (I'm using "d ctrl" as I've said) and give the following string "Paste mouse selection & Go".
Remember to use '&' and not 'and'. & is used to separate actions

catz: [bro.wsers] [kom.puterowe]
tagz: [linux] [opera 9.51] [paste] [xorg] [xorg clipboard]
Dodaj swoją opinię
08
wrzesień-2007
210920

Tak, wszyscy wiedzą, że po wprowadzeniu (1, 2) super nowych ficzerów w Google Readerze, przestał on działać w Operze. Jedni bluzgali na google, inni na operę (choć nie do końca :)).

Na liście dyskusyjnej poświęconej Google Readerowi pojawił się cały wątek odnośnie babola pod Operą. Niektórzy użytkownicy wykazyali się bojowością:

Come on Google Team, if I will be force to choose between your reader and opera browser I will choose my opera
how could you broke it ;(

Specjalnie mnie to nie dziwi. Użytkownicy którzy przechodzą na Operę, szybko przyzwyczajają się do swojej przeglądarki i wcale nie chcą jej zamienić na nic innego:

...2 weeks ago (I) have choosen to rely on Opera for my web-client. This is after 7+ users of being a hardcore FF user for my PCs and MACs.

Rozbroił mnie natomiast jeden komentarz:

Poza tym opery używa mniej osób niż safari.

Zerknąłem więc na Analyticsy. Otóż w ciągu ostatniego miesiąca, wśród odwiedzających mojego jogga: 46% stanowili userzy FF, 23% - IE, 23% - Opery. Safari ma mniej niż 1%.
Sprawdziłem również ostatnie 3 miesiące: 48% - FF, Opera - 22%, IE - 20%, oraz cały ostatni rok: 48% - FF, 22% - Opera, 20% - IE.
Dodatkowo, używając małego guzika "Compare to past" dostępnego przy kalendarzu, obejrzałem miesiąc po miesiącu i użytkowników Opery było pomiędzy 15%-25%, dla mnie jest to znaczna część.

Oczywiście nie jest to w żaden sposób miarodajne, bo to tylko mój mały joggerek, jednak cieszy mnie fakt, że Google w końcu dostrzegło, że nie może ignorować użytkowników Opery. Cieszy mnie, że wy (my! :)) wymusiliśmy na Google żeby Reader działał poprawnie! :)

catz: [bro.wsers] [go.ogle] [Techblog]
tagz: [google reader] [opera] [opera users forces google]
8 komentarzy
16
lipiec-2007
231451
GMail hacking logo

Dwie rzeczy drażniły mnie od dłuższego czasu w gmailu, mianowicie brak czcionki o stałej szerokości przy czytaniu i pisaniu wiadomości. Jakiś czas temu postatnowiłem to zmienić, a teraz podzielę się z wami JTZ w Operze.

Pokaż więcej...

catz: [bro.wsers] [go.ogle] [kom.puterowe] [Techblog]
tagz: [czcionka stałej szerokości] [gmail] [gmail hacking] [google] [monospaced] [opera]
4 komentarze
14
lipiec-2007
212317
Simple DOM Viewer header

Jest jedna rzecz, której strasznie brakuje mi w Operze, mianowicie DOMInspectora, takiego jak ma Firefox. Co prawda jest Opera Developer Console, jednak z pewnych względów, nie wystarcza mi. Zapewne łatwiej byłoby zmodyfikować tamten kod, jednak jest on dość obszerny i nie chciało mi się nad nim siedzieć/czytać, więc napisałem pierwszą wersję mojego małego DOMInspectora dla Opery.

Pokaż więcej...

catz: [bro.wsers] [kom.puterowe] [pro.gramowanie] [Techblog]
tagz: [dom viewer] [dominspector] [opera] [webdevelopment]
2 komentarze
18
grudzień-2006
024055

O ile mi wiadomo, to w operze, [przynajmniej tej którą mam w tej chwili 9.10 build 507], nie da się ustawiać ikon dla bookmarkletów.
A może inaczej, da się, tylko trzeba wiedzieć, JTZ. Zrobimy to na przykładzie Google Readera.

  • Najpierw dodajmy odpowiedni bookmarklet na personal bar (jeżeli jeszcze masz nie włączony: View->Toolbars->Personal Bar).
    Znajdziemy go w ustawieniach Google Readera w zakładce Goodies, na dole jest bookmarklet Subscribe, który wystarczy przeciągnąć na Personal Bar.
  • Następnie przydałaby nam się ikonka Google Readera. Ja używam ikonek 16x16. Taką ikonkę można znaleźć pod: google.com/reader/ui/favicon.ico
    Ikonkę zapisujemy jako google-reader.ico w katalogu .opera/images [czy odpowiednim katalogu dla windows].
  • Została nam najciekawsza część, czyli ustawienie ikonki. Najpierw należy zamknąć Operę (by nie pozmieniała nam nic w międzyczasie). W tym celu przy pomocy ulubionego edytora edytujemy pliczek: .opera/opera6.adr. Szukamy frazy Reader. U mnie jest coś takiego:
    • ID=582
    • NAME=Add to Google Reader
    • URL=javascript:var%20b...
    • VISITED=tutajtimestamp
    • ON PERSONALBAR=YES
    • PERSONALBAR_POS=numerek
    Teraz, wystarczy dodać linijkę:
    • ICONFILE=google-reader.ico
    Ja dodałem ją tuż za VISITED gdyż tak było w innych przpadkach.
  • Teraz wystarczy włączyć Operę i jeżeli jeszcze nie masz tego ustawionego, to prawym na personal barze, Customize, a następnie w Style Images only.

Od razu lepiej, prawda?
A po co to komu? IMHO człowiek łatwiej zapmiętuje ikonki i ich położenie, poza tym zajmują mniej miejsca niż tekst.

P.S. Kodujesz w JS? Uważaj na eval()
P.S. 2: Przepraszam, że wpisy ostatnio pojawiają się bardzo rzadko, ale nie mam czasu, bo kilka tematów do opisania znalazłoby się...

catz: [bro.wsers] [go.ogle]
tagz: [bookmarklety] [google reader] [ikonki] [opera]
Dodaj swoją opinię

Prawda, że interesująco się zapowiada? Cały opis dotyczy Opery i nie mam pojęcia jak zadziała na innych przeglądarkach.

Ciekawe bookmarklety dla Opery

Wszystko ma swój początek i tak też było w tym przypadku. Ci którzy korzystają z rapidshare wiedzą, że na 'Free access' pojawia się na początku taki liczniczek, który odlicza od 117 (na chwilę obecną) sekund aż do zera. Zastanawiałem się, czy nie dałoby się go 'przyspieszyć'...
Najpierw stworzyłem sobie swoją prostą stronę z licznikiem i kombinowałem jak to zrobić. Po próbach różnych javascriptów w pasku adresu w końcu się udało:

  • javascript:void(left=5);

Prawda, że prosto? W przypadku Rapidshare zmienna nazywa się c (od counter pewnie ;)) zamiast left, więc dodałem sobie bookmarkleta:
Bookmarks->Bookmark Page->Details
jako Name dałem Down Rapidshare counter, jako adres: javascript:void(c=5); dodatkowo zaznaczyłem Show on personal bar, dla szybszego dostępu.
Następnie nastąpiła (ach ten język polski ;)) próba i... nic. Panowie z Rapidshare się przed tym zabezpieczyli i jeżeli będziemy próbowali wejść przed upływem czasu, wyświetli nam się komunikat o błędnym tickecie (bo jeszcze nie zaczął działać).

Usuwanie Google Ads i nie tylko

Następnie z nudów powymyślałem dwa inne jednolinijkowce. Oczywiście z obu można zrobić bookmarlety. Pierwszy ukrywa obrazki na stronie:

  • javascript:for(b=document.getElementsByTagName("img"), a=0;a< b.length; a++){ void(b[a].style.display='none'); }

Należałoby go ciut usprawnić, żeby obsługiwał ramki i iframe'y, ale zostawiam to jako ćwiczenie dla czytelników :-). Kolejny bardziej evil do usuwania (niektórych) googlowych reklam:

  • javascript:for(b=document.getElementsByTagName("iframe"), a=0; a<b.length; a++){ if(b[a].name=="google_ads_frame") void(b[a].style.display='none'); }
oczywiście podobnie należałoby go usprawnić...

Blokowanie Google Ads w Ogame (i nie tylko!)

Ponieważ ktoś ze znajomych o to pytał, zastanawiałem się również, jak usunąć GoogleAds z Ogame, ponieważ strona Ogame jest tak tragicznie zrobiona, że oidp nie dało się tego osiągnąć z poziomu stylów (nie wiem czy coś się w tym względzie zmieniło). Rozwiązaniem są User JavaScript files.
Najpierw musimy zalogować się na Ogame, ale wchodzimy tędy. Dodanie frameset=1 ułatwi nam później życie.
Dla naszego skryptu należałoby przygotować katalog, ja użyłem ~/.opera/ogame
Skrypt można ściągnąć z wafla, a obejrzeć można na na pastie. Należy go umieścić w utworzonym katalogu.
Następnie w oknie Ogame (zalogowanym) klikamy prawym przyciskiem, następnie Edit Site Preferences. W polu site, powinnien być serwer postaci ogameXXX.de nie ogame.pl! (chyba, że zapomniałeś/aś, o wspomnianym wcześniej frameset). Przechodzimy do zakładki scripting i w polu tekstowym na dole wpisujemy ścieżkę, bądz poprzez Choose przechodzimy do odpowiedniego katalogu, gdzie umieścilismy nasz skrypcik.
Opera załaduje wszystkie pliki z rozszerzeniem .js z tego katalogu. Teraz należy jeszcze odświeżyć stronę i ewentualne reklamy powinny zniknąć.
Jeszcze krótko o skrypcie. Dodaje on do dokumentu EventListenera, który będzie wywoływany po załadowaniu dokumentu (tutaj bardzo ciekawa strona, która pokazuje w jakiej kolejności jakie handlery są wywoływane w róznych przeglądarkach). Potem jest proste sprawdzenie, czy host się zgadza i jeśli tak to jest wykonywany kod taki jak w poprzednim punkcie.
Oczywiście nie muszę wspominać, że można to wykorzystać nie tylko w przypadku Ogame...
W Tools -> Preferences -> Advanced -> Content -> JavaScript Options, można wybrać globalny katalog z plikami, które będą uzywane na każdej odwiedzanej stronie...
Zdaję sobie sprawę, że skrypt nie jest idealny, więc jeśli ktoś zrobi ładniejszy, to bedę wdzięczny za informację :-).

Cóż więcej, zachęcam do tworzenia własnych bookmarkletów i skryptów dla Opery :-)

catz: [bro.wsers] [go.ogle]
tagz: [blokowanie reklam] [bookmarklety] [google ads] [ogame] [ogame reklamy] [opera]
3 komentarze
21
sierpień-2006
235622

Ostatnimi czasy, miałem problemy z feedami RSS. Mianowicie z menu zniknęło wogóle menu Feeds, a na stronach nie pojawiała się na address barze znana ikonka RSSów.
Pytałem kilka osób, ale raczej nikt nie odpowiedział mi co jest grane, ani tym bardziej, dlaczego tak może być. Dziś z racji, że właściwie skończyłem pisanie kodu na SoC (jeszcze doszlifować trzeba), wkurzyłem się i postanowiłem rozwiązać ten jakże irytujący problem.
Na dobry początek wystartowałem Operę z terminala, a nie z enlightenmentowego ibara i od razu dało o sobie znać źródło problemu:
opera: Could not initialize Opera Mail: Store Init failed
opera: Could not initialize Opera Mail: Engine Init() failed
Niewiele myśląc, zacząłem edytować plik konfiguracyjny Opery - opera6.ini i okazało się, że ponieważ po niedawnej zmianie dysku i reinstalacji systemów, wrzuciłem swój katalog domowy w inne miejsce. Więc szybka zmiana linijki:
Mail Root Directory
i kilku innych gdzie występują bezwzględne ścieżki, rozwiązała problem. Opera śmiga, jak dawniej, feedy działają, czegóż więcej do szczęścia potrzeba ;-).

14
sierpień-2006
012942

^G Sitemaps trafiło do Google Webmaster Central, co może oznaczać, że ^G wkrótce ukaże więcej narzędzi dla Web Developerów. Jakieś półtora miesiąca temu ^G Sitemaps otrzymało Polski interfejs.
Jednak gdy dziś wszedłem na moje sitemapy, spotkało mnie coś nieprzyjemnego:

Pokaż więcej...

06
sierpień-2006
125701

Jakiś czas temu, riddle opisywał jak zrobić minibloga. Z racji tego, że stwierdziłem, że chciałbym mieć coś takiego, postanowiłem zrobić, jednak nieco inaczej...
Na początek stworzyłem nowego jogga i stworzyłem dla niego prosty xmlowy szablon (kuknijta w źródło). (W międzyczasie popsułem sobie szablon strony z komentarzami mojego normalnego jogga, ale nic to, szybko go odzyskałem).
Ustawiłem wyświetlanie po 5 wpisów na stronie.
Następnie stworzyłem prosty skrypt w php, który jako argumenty przyjmuje adres pliku xmlowego i nazwę warstwy, inkluduję:
<script type="text/css" src="http://przepisy.wafel.com/miniblog.php?
xml=URI&div=nazwamojegodiva"> </script >
W moim przypadku URI to http://szortygima.jogger.pl. a div to rilleft
Parser jest dosyć kulawy, bo nie chciało mi się nad tym siedzieć. Głównie zrzucam winę na to, że XMLReader w php nie chciał działać, a pisanie handlerów oraz używanie xml_set_element_handler() i spółki jest dość męczące(?).
(tag link musi być przed tagami title i content).
Skrypt w PHP generuje trywialną dość funkcję w JS: miniblog(), która jako argument, przyjmuje nazwę diva, do którego ma wrzucić wygenerowany stuff. Oraz wywołuje ją z parametrem podanym jako div.
Dlaczego nie pozostawiam możliwości jej wywołania autorowi strony? Gdyż nie wiem z jakiej przyczyny, ale zdażyło mi się, że Opera mówiła że funkcja miniblog jest niezdefiniowana, tak jakby przeglądarka nie zdążyła załadować JSa przed wywołaniem funkcji.
Na razie jest testowo, zobaczymy jak będzie funkcjonować.

catz: [bro.wsers] [kom.puterowe]
tagz: [minijoggv1.0]
4 komentarze
04
lipiec-2006
012521

Zainstalowałem sobie IE7 beta 3 i postanowiłem podzielić się moimi uwagami na jego temat...

Pokaż więcej...

24
czerwiec-2006
015852
W Operze 9 oprócz różnych usprawnień dodano tzw widgety. Widgety operowe pozwalają dosyć fajnie rozszerzać możliwości opery. Dzisiaj przeszukując różne natknąłem się między innymi na widget Dziennik Internautów - właściwie rss feed z DI, tyle, że u mnie prostokąt na którym jest wyświetlany jest za duży i ciut brzydko to wygląda, ale wstawiłem sobie tego widgeta w prawy dolny róg pulpitu, także jest okej. Jest widget do obsługi Google Calendara, ale działa dośc mierne, żeby nie powiedzeć, że nie działa i tylko read only ;-/... (tyle, że jak dodałem nowy termin na gCalu, pomimo usilnych prób zrobienia logout i login w widgecie, mój nowododany termin niezbyt się chciał pokazać o_O). Do tego znalazłem też GoogleToolBar, zastanawiałem się chwilę gdzie go umieścić, bo dużo miejsca zajmuje ;->, pozatym jeszcze nie sprawdzałem gdzie to można poustawiać, bo ciut za dużo ikonek jak dla mnie. Widgety mają ciekawą opcję, że klikanie na linki najczęściej powoduje otwarcie strony w głównym oknie przeglądarki. A co mi tam wkleje mojego pierwszego szota na joggerze:
20
czerwiec-2006
230828
Trafiłem dziś przez przypadek na ciekawe porównanie szybkości przeglądarek. Jak komuś się nie chce czytać tekstu, to niech sobie chociaż tabelki poogląda...
Browser speed comparision