
Nic ostatnio nie pisałem ponieważ cały wolny czas zabrał mi nowy projekt, a właściwie to praca magisterska ;-) Nowy twór to noku.pl, co w zamierzeniu ma być narzędziem do komunikacji student-student oraz student-wykładowca.
Cały pomysł opiera się na tym, żeby odgonić studentów od zakładania (w byle jakich miejscach) for/stron swoich „roków” i zgromadzić ich w jednym miejscu, dostarczając narzędzie skrojone na miarę i przystosowane do warunków studenckich. Następnie przyciągnąć w to miejsce nauczycieli akademickich, tak żeby mieli w jednym miejscu wszystkich swoich studentów, dzięki czemu wymiana materiałów czy informacja typu „nie ma mnie jutro na uczelni” trafiała natychmiastowo tam gdzie trzeba. Do tego dochodzą strony kół naukowych i mamy już małą e-uczelnię. Każdy wie co i gdzie piszczy.
Oczywiście co większe uczelnie mają już podobne systemy wymiany informacji/materiałów ale:
a) nie wszystkie, np. Politechnika Opolska nie ma i nie zanosi się żeby miała
b) inwigilacja studentów (w systemie hostowanym przez uczelnię) i tak sprawi, że do nieskrępowanej komunikacji pomiędzy sobą studenci założą gdzieś własne forum
Dlatego całym pomysłem na serwis jest:
Od strony technicznej system jest przewidziany na N uczelni. Ograniczeni jesteśmy jedynie zasobami serwerowymi dlatego, póki co jesteśmy w stanie hostować tylko studentów z obszaru Politechniki Opolskiej.
Całość napisana jest w Django i działa na konfiguracji Ubuntu server, Nginx, PostgreSQL. Co najważniejsze kod serwisu jest dostępny na licencji AGPL !! Jesteśmy chyba jednym z niewielu polskich serwisów Django-wych, które zdecydowały się opublikować kod. Miejmy nadzieję, że wywołamy nową tendencję wśród aplikacji webowych dzięki czemu będziemy mogli się wzajemnie od siebie uczyć.
Linki:
noku.pl
blog.noku.pl (oczywiście jogger)
bugs.noku.pl (kod źródłowy oraz błędy)
W ostatni czwartek zdarzyło mi się wynająć w ovh.pl prywatny serwer RPS I. Miał on służyć testom nowego startupa. Docelowa grupa testerów (około 80 osób), Celeron 1,2 GHz, 512 RAM, Łącze 100 Mbps bez limitu transferu, dysk 10 GB i 50 zł miesięcznie. Dobry serwer do testów można by rzec. Można by… ale:
Prywatne RPSy to rozwiązanie „ekologiczne” i tanie. Aby takim było żadna z maszyn nie posiada fizycznego dysku. Dane przechowywane są na wielkiej, wspólnej macierzy dyskowej dostępnej przez sieć za pomocą NFSa lub iSCSI.
Z grubsza powinno to działać tak:

Ale działa niestety tak:

Mały dowód:
$ time ls /sbin/
real 0m41.424s
user 0m0.008s
sys 0m0.004s
dla porównania mój laptop
$ time ls /sbin/
real 0m0.071s
user 0m0.000s
sys0 m0.003s
Dysk praktycznie nie istnieje a serwer staje się przez to zupełnie nieużyteczny. Nie żeby był to odosobniony przypadek. Wystarczy poczytać ten wątek na forum aby się o tym przekonać.
Na RPSa zdecydowałem się, bo słyszałem, że problemy z dyskami już ustały. Otóż nic podobnego! Od następnego miesiąca przesiadam się na serwer dedykowany z własnym dyskiem. Pewnie skończy się na Kimsufi w opcji L. Chyba, że polecacie coś lepszego w podobnej cenie.
Podsumowując:
Ostatnio z okazji Festiwali Przedsiębiorczości, który odbywał się w Opolu miałem okazję posłuchać o tym jak serwis nasza-klasa doszedł do rozmiaru i kształtu w jakim obecnie możemy go oglądać. Prelekcję inauguracyjną wygłosił Paweł Olchawa, student informatyki z Uniwersytetu Wrocławskiego i jeden z czterech ojców założycieli naszej-klasy. Tak na marginesie to Paweł jest moim kolegą z klasy z podstawówki :-) Anyway, jeżeli będziecie mieli kiedyś okazję posłuchać kogoś z naszej-klasy to gorąco zachęcam.
Historii i różnych wątków było mnóstwo. Od hostingu w home.pl gdzie zapadła kluczowa decyzja w sprawie bazy – padło na MySQL bo była za darmo a PostgreSQL kosztował 100 zł więcej ;-) Poprzez serwerownię w Niemczech, która okazała się być halą ze starymi PC-tami podłączonymi kilometrami kabli. Aż do obecnej serwerowni w Poznaniu, która zasilana jest niezależnie z dwóch elektrowni, gdzie serwery naszej-klasy od serwów Allegro oddziela siatka z drutem kolczastym ;-)
Drugim wątkiem przeplatającym się z technicznymi sprawami był aspekt budowania zespołu i całej infrastruktury ludzkiej. Od spotkań przy piwie od wynajęcia własnego mieszkania oraz profesjonalnego biura. Stopniowego zatrudniania nowych ludzi na określone stanowiska, wypracowania własnych standardów pracy i monitorowania serwisu. Było też o problemach z policją, kontrolach GIODO, formach reklamy, szukaniu sponsorów i wielu przeróżnych rzeczach.
Tu też nie obyło się bez ciekawostek, np. obecnie serwis wynajmuję kancelarię prawną, która w całości zajmuje się obsługą prawną, kiedyś natomiast zajmował się tym student prawa, co jak się okazało nie było najlepszym rozwiązaniem ;-)
Dużo by jeszcze można pisać, ale najlepiej jak opowiedzą to Wam to sami. Dlatego jeżeli interesujecie się rozwojem sieci, organizacją techniczną dużych portali, serwisami społecznościowymi lub sami myślicie o stworzeniu jakiegoś to koniecznie musicie się wybrać na taką prelekcję. Na pewno nie była to ani pierwsza ani ostatnia. Polecam!
Niedawno Google wypuściło bardzo fajną rzecz. Usługa nazywa się Google Sites i jest częścią aplikacji przeznaczonych dla własnej domeny (Google Apps for Your Domain). Nie będę tutaj opisywał całości funkcjonalności, bo pewnie do wieczora bym nie skończył. Trzeba zobaczyć to na własne oczy i samemu poklikać.
Na początek filmik
Teraz należy udać się na kilka przykładowych stron: Company intranet, Team project, Employee profile, Classroom.
Myślę, że jest to świetna usługa dla wszelkiego rodzaju projektów. Szkoda że Google Code nie ma takiej funkcjonalności. Z minusów jakie zauważyłem to niewątpliwym jest brak możliwości komentowania przez odwiedzających. Taką możliwość mają tylko osoby kolaborujące. Mam nadzieję, że wkrótce jakoś to naprawią bo wpływa to w znacznym stopniu na feedback ze strony użytkowników.
Ostatnio zaczynam mieć dość webowych aplikacji. Oglądanie wszystkiego w przeglądarce nie zawsze jest wygodne, no i nie zawsze szybkie zważywszy na ilość rozszerzeń jakie wcieliłem do Firefox-a. Czasami też wyłączam okno przeglądarki zapominając, że w któreś z zakładek siedzi coś co np. odtwarza muzykę z Jamendo. Do webaplikacji Googla używam już od jakiegoś czasu Prisma. Działa to lepiej ale nadal nie jest to /to coś/ czego szukam. Jeżeli mogę staram się używać aplikacji natywnych np. Gmail via Thunderbird (przez IMAP) czy Google Calendar via Lightning (rozszerzenie do Trunderbird-a). Aplikacje webowe mają jednak bardzo dobrą cechę – są mobilne. Nie mając naszych ulubionych aplikacji pod ręką i tak zawsze się do nich dostaniemy choćby przez tfu IE tfu.
Dzisiaj trochę bawiłem się PyGTK wynikiem czego wykombinowałem mały skrypt. Sam się zdziwiłem jak można łatwo ubierać strony w jakieś natywne GUI. Poniższy skrypt jest zwykłym oknem przeglądarki opartej na gtkmozembed tyle, że potrafi schować się do ikonki w zasobniku systemowym dzięki czemu świetnie sprawuje się już jako odtwarzacz moich ulubionych utworów z Jamendo.
Przy pierwszym uruchomieniu należy się zalogować w serwisie (nowej wersji serwisu), a przy następnych od razu ładowany będzie ichniejszy player.
Skrypt: jtip.py
Odpalamy standardowo jak na pythona przystało:
$ python jtip.py
Oczywiście skrypt łatwo wykorzystać do obsługi innej strony.
BTW: Kiedy ktoś zrobi wtyczkę do QuodLibet obsługującą Jamendo ?
BTW2: Jak spowodować aby klikanie na krzyżyk chowało aplikację do ikonki w zasobniku? W moich próbach okno niby udało mi się ukryć nie wyłączając aplikacji, ale dźwięk się urywał a po kliknięciu na ikonkę w zasobniku przywracało się gołe okno.
Niedawno jak grom z jasnego nieba wpadł do mojej skrzynki e-mail od kogoś z redakcji magazynu .psd Szczerze mówiąc to nawet nie wiedziałem że coś takiego wydają ;-) Jak sama nazwa wskazuje, ów magazyn zajmuje się tematyką Photoshopa. W mailu zostałem zaproszony do współpracy, a dokładniej napisania artykułu na temat najnowszych języków programowania bądź o tym, czym są systemy CMS.
Nie mam pojęcia dlaczego to akurat ja dostałem takiego maila, bo żadnym guru w tej materii się nie czuję. No chyba, że podobne propozycje wysyłano do każdego jak leci ;-) W każdym bądź razie jeżeli macie ochotę coś takiego napisać to redakcja na pewno skorzysta z pomocy. W zamian za artykuł proponują reklamę w ichnim magazynie. No cóż, ja bym wolał np. 50zł ale jeżeli komuś przyda się reklama i chce podjąć wyzwanie to zapraszam.
Po dokładnego maila można zagadać na jabberze lub mailem.
A zapiszę, może się komuś przyda i oszczędzę mu szukania.
Otóż ostatnio trafiłem na dziwny błąd (oczywiście w IE) przy osadzaniu obiektu flashowego. Było to o tyle dziwne, że specjalnie skorzystałem z skryptu SWFObject aby w każdej przeglądarce flash zasadził się wg. jej uznania. Chociaż na stronie demo wszystko grało to jednak w mojej implementacji zdychało na IE. Dokładniej to sam flash się wstawiam, ale cały kod który znalazł się po osadzeniu elementu flashowego znikał. Zupełnie jakby przestał być interpretowany. Googlowałem sporo, ale nic nie znalazłem, więc zostało kombinowanie.
Biotąc pod uwagę przykładowa osadzenie:
<script type="text/javascript/>
var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699");
so.addParam("quality", "low");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
so.write("flashcontent");
</script>
to wszystko znikało po wykonaniu linijki:
so.write("flashcontent");
Rozwiązanie okazało się bardzo proste. Skoro obiekt jest osadzany przez JS to równie dobrze można go osadzić już po wyświetleniu całej strony. Z pomocą jQuery wygląda to tak:
<script type="text/javascript/>
var so = new SWFObject("movie.swf", "mymovie", "400", "100%", "8", "#336699");
so.addParam("quality", "low");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
$(document).ready(function() {
so.write("flashcontent");
});
</script>
Wczoraj postanowiłem zinwigilować kto tak naprawdę tutaj zagląda. Oczywiście mój pasek adresu wycelował w MyBlogLog, który to ostatnimi czasy opanowuje przeróżne zakątki internetu. Szybka rejestracja, łapię widget, trochę go pokolorowałem, wstawiam. Pięknie! Nic nie widać.
A nie, jednak widać. FireBug mruga czerwonym tekstem, oznaczającym błąd i wyświetla o takie coś:
Object cannot be created in this context" code: "9
Pooglądałem sprawę z różnych stron, bo jak to, wszędzie działa tylko nie u mnie? No i znalazłem. Jak przystało na XHTML wysyłam go jako application/xhtml+xml. No prawie, bo właściwie typ mime jest negocjowany z przeglądarką i taki król internetu IE dostaje stronę jako nie wiadomo co, czyli text/html.
Podsumowując, MyBlogLog-owy skrypt, podobnie jak Google Maps nie działa z XHTML-em. No i cóż zrobić. Poszukałem na FAQ, znalazłem maila przeznaczonego do raportowania błędów i ładnie zraportowałem. Maila napisałem koło 1:00 w nocy, czyli o 19:00 czasu nowojorskiego i za kilka minut już miałem na blogu drużynę pierścienia.

Szybko też dostałem odpowiedź – oczywiście SOA#1(Standardowa Odpowiedź Administratora nr 1: U mnie działa). Zamiast przeczytać treść maila kliknęli na link (po tym jak już zmieniłem mimetype na text/html), zobaczyli że działa i dali sobie spokój :-)
Wyklepałem wiec szybki przykład i posłałem jeszcze raz. Skrypt przykładowy wygląda tak. Dziś dostałem odpowiedź, że mój mail został przekazany endżynierą. Zobaczymy co z tego będzie. Pewnie nic, ale czasami miło jest znaleźć oczywisty błąd w tak dużym serwisie i nie dostać odpowiedzi typu „tak wiemy, już nad tym pracujemy”.
Od jakiegoś czasu zauważyłem że mój RSS ssie jakaś nowa planeta. Dokładniej jest to planeta niedawno powstałego ‘serwisy’ mygentoo.org. Planeta nie jest jeszcze oficjalnie podpięta ale jak to z planetami bywa zajmuję subdomenę planet. Chociaż nazwa serwisu wskazuje na Gentoo to podtytuł mówi nam where not only Gentoo Ricers meet czyli, że znajdziemy tutaj blogi nie tylko osób używających Gentoo.
Reasumując, serwis świeci pustkami i jak zwykle, w przypadkach gdzie otwiera się serwis chęciami ale bez pomysłu, możemy znaleźć tekst typu:
[...] Poszukujemy wszystkich chętnych którzy chcą się dołączyć do naszego projektu. Chcesz pisać newsy, artykuły? Nie ma problemu. [...]
Lub jak dokopałem się na blogu jednego z autorów
[...] Pisali by artykuly i takie tam ciekawostki. Glownie chodzi nam o to zeby MyGentoo byla strona z jednym wielkim polskim zbiorem informacji, artykulow, poradnikow. [...]
Pięknie! Ale… Jaki jest sens (tworzenia nowej strony / zakładania nowej domeny) gdy:
a) kluczową linijką kodu na gentoo.pl jest:
<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.gentoo.org">
b) Jest już podobny serwis — gentoo.org.pl — na którym po nieodległej pozycji życzeń świątecznych (nie wielkanocnych ale bożonarodzeniowych), szybko poznamy że nie cieszy się zbytnią popularnością.
Jak każdy użytkownik Gentoo dobrze wie, przy różnego typu problemach z Gentoo mamy trzy pewne źródła informacji:
Nietrudno też zauważyć, że zarówno podręcznik jak i forum mają swoje polskie wersje. Odejmując dwa od trzech dojdziemy też łatwo do wniosku że Gentoo Wiki nie ma swojej polskiej wersji, a każdy kto tam grzebał dobrze wie jak cenne i przydatne jest to źródło informacji. (Pozwólcie że to coś pominę)
Skończmy się więc bawić w dwadzieścia stron o dupie Maryny i zagospodarujmy właściwie i pożytecznie nasz czas. Nie postępujmy jak linux.pl i linuxnews.pl, że każdy stawia sobie własne forum. Trzeba działać dla dobra społeczności a nie wyłącznie dla autopromocji.
O! Tyle miałem do powiedzenia. <kurtyna>
Zaczęło się od tego, że wtrąciłem mały offtopic w temacie o uploaderze dla Picasa Web, kiedy tu znienacka zjawił się Marek Wiewórski z gotowym rozwiązaniem
Ale od początku. Do skryptu potrzebna będzie nam biblioteka flickyou Wystarczy że pobierzemy ją z na dysk, rozpakujemy, wejdziemy do katalogu i wpiszemy:
# python setup.py install
Flickyou do działania potrzebuje też innego modułu pythona — simplejson. Jeżeli więc go jeszcze nie posiadamy to:
# emerge -av dev-python/simplejson
Aby połączyć się z API serwisu Flickr należy zdobyć dwa klucze – key i secret, czego możemy dokonać na tej stronie
Kiedy mamy już klucze tworzymy w katalogu domowym plik .flikr.cfg o następującej strukturze:
[Auth]
api_key: KLUCZ_KEY
secret_key: KLUCZ_SECRET
Oczywiście zamiast KLUCZ_KEY i KLUCZ_SECRET wstawiamy odpowiednie numerki.
Teraz zabierzmy się za skrypt właściwy Nadajmy mu prawa do wykonania:
# chmod +x flickr.py
I przenieśmy do /usr/bin/ aby był widziany jako polecenie
# mv flickr.py /usr/bin/flickr
Od tej chwili mamy prawie działający skrypt. Prawie bo czeka nas jeszcze pierwsze uruchomienie. A wygląda to najprościej jak można.
$ flickr jakis_plik.png
Teraz jeżeli wszystko zrobiliśmy dobrze pozostaje nam potwierdzenie autentyczności programu posługującego się naszym kluczem API. Powinna otworzyć nam się przeglądarka tekstowa a naszym zadaniem jest zalogowanie się do serwisu Flickr i kliknięcie na link zezwalający naszemu skryptowi na korzystanie z API. Dokładniej wygląda to tak, że po zalogowaniu klikamy w jeden redirect a na następnej stronie znajdziemy już na środku link zezwalający. Po całej operacji można już zamknąć przeglądarkę i gotowe! Nasz skrypt powinien już działać jak należy.
Jak widać skrypt do razu podaje nam linki do miniaturki oraz pełnego rozmiaru. Po prostu idealne do zastosowania blogowego lub gdy chcemy szybko komuś pokazać jakiś screen.
Jako że przeniosłem się na gibkie Xfce wypadałoby skorzystać z jego zalet. Sprawa jest banalnie prosta. Odpalamy Thunara i klikamy Edycja > Konfiguruj akcje… Tutaj znajdziemy małe okienko gdzie dodamy upload grafiki na Flickr. Klikamy w plusik i wpisujemy co następuje:
nazwa: Flickr
Opis: Upload grafiki na Flickr
Polecenie: flickr.py %F > /tmp/flickr && geany /tmp/flickr
Ikonka: Ściągamy z http://yourkee.com/icon/flickr.png

Tutaj małe objaśnienie samego polecenia. Symbol %F wstawia nam ścieżki do wszystkich plików, które zaznaczymy w Thunarze. Jednak, jeżeli nie odpalimy całego polecenia w terminalu, to nie będziemy mieli podglądu na wyświetlane linki do miniaturki i pełnej grafiki, co nam się nie podoba ;-) Przekierujemy więc wyjście całego polecania do pliku /tmp/flickr a następnie, po zakończeniu uploadu otwieramy go naszym ulubionym edytorem. W moim przypadku jest to Geany ale równie dobrze możecie zrobić to Geditem czy czymkolwiek innym.
Teraz przechodzimy do zakładki Warunki pokazywania i zaznaczamy tam Pliki graficzne

Integracja zakończona! Teraz w Thunarze po kliknięciu prawym przyciskiem myszy na jakiś plik graficzny w menu kontekstowym powinniśmy widzieć opcję Flickr. Możemy też zaznaczyć w ten sposób kilka plików graficznych i wrzucić je jednocześnie.
Mirage czyli przeglądarka grafiki, o której wspomniałem ostatnio ma podobnie jak Thunar możliwość definiowania własnych czynności. Wystarczy kliknąć Modyfikuj > Własne czynności > Konfiguruj. Na tej samej zasadzie możemy więc dorobić tutaj upload na Flickr. Mamy możliwość, a nawet musimy przypisać każdej nowej akcji odpowiedni skrót klawiszowy. Ot taka dbałość o wygodę użytkownika ;-). Ja sobie przypisałem Ctrl+Shift+F
To by było na tyle. Miłego użytkowania i podziękujcie Markowi
PS. O konsolowym uploaderze do Picasa Web pisałem wcześniej
GENi — tak nazywa się projekt który wpadł mi ostatnio w pasek adresu. Nigdy jakoś nie miałem okazji robić drzewa genealogicznego mojej rodziny, ale przypuszczam, że gdyby nie to narzędzie, to nie skończyłbym prędko…
Głównym budulcem jest tutaj Flash i dobrze zorganizowana baza danych, dzięki czemu drzewo buduje się łatwo szybko i przyjemnie.
Jak przystało na projekt dumnie noszący Beta w nazwie wszechobecny jest też Ajax dzięki czemu komfort odnajdywania np nazwiska załatwia nam automagiczne dopełnianie.
Również ze społeczna strona nie jest źle. Jeżeli tylko jakieś osobie z drzewa wpiszemy mail wówczas pojawia nam się przycisk zaproszenia jej do współpracy przy redagowaniu, bo oczywiście jak na dobrą ochronę prywatności przystało drzewo dostępne jest tylko dla jego członków.
Przybyli członkowie mogą tworzyć również swoje drzewa, które nie są związane bezpośrednio z naszym. Wówczas z naszego punktu widzenia, nad ich prostokącikiem pojawia się ikonka przejścia do kolejnego drzewa oraz liczba osób znajdujących się w nim. Dzięki temu wszystko jest ładnie, logicznie i przejrzyście poukładane.
Każdą osobę w drzewie możemy dość dokładnie przedstawić za pomocą, przeróżnych danych dotyczących jej życia, pracy, wykształcenia czy zestawu ulubionych rzeczy. Nie mogło zabraknąć też implementacji Google Maps dzięki czemu po przypisaniu państwa i miasta do jakiegoś z użytkowników drzewa automatycznie jest on umieszczany na mapie. Dobrze przemyślana został też sprawa zdjęć, ponieważ przy dodaniu jakiegoś możemy określić jakie osoby znajdują się na zdjęciu, dzięki czemu jedno zdjęcie może być współdzielony przez kilku użytkowników i będzie się pojawiało w ich profilach.
A teraz krótka lekcja poglądowa jak ładnie to działa
A tutaj wywiad z jednym z autorów projektu GENi
Niedawno jeszcze użerałem się z F-spotem który jak na złość nie potrafił przejść autoryzacji Picasa. W dodatku biblioteka libgphoto2 z której korzysta F-spot gryzła się z gnomowym automount’erem sprzętu przez co pingwin nie wykrywał mi aparatu. Zmuszony więc byłem odesłać F-spota na /dev/drzewo i poszukać alternatywy.
Z pomocą przyszedł Marcin Sochacki (Wanted) ze swoim bardzo wygodnym w użyciu skryptem opartym o Pythonowe API dla Googla
Skrypt wystarczy zapisać na dysku, następnie wyedytować plik i wpisać swój login oraz hasło
username = 'UZYTKOWNIK'
password = 'HASLO'
Teraz nadajemy skryptowi prawa do wykonywania
$ chmod +x picasa_upload.py
I dla wygody przerzucamy go rootem do /usr/bin aby stał się poleceniem:
# mv picasa_upload.py /usr/bin/picasa
Gotowe. Do dyspozycji mamy teraz polecenie picasa którego składania jest bardzo prosta. Jeżeli chcemy np. wrzucić na Picasa zdjęcia znajdujące w katalogu abc wystarczy że wejdziemy do niego i wklepiemy:
$ cd abc/
$ picasa Zdjecia-z-pikniku *.jpg
Skrypt założy nowy album o nazwie Zdjecia-z-pikniku i wrzuci do niego wszystkie pliki o rozszerzeniu .jpg które znajdują się w katalogu. Pice of cake!
Po pierwszym nudnym jak flaki z olejem wykładzie o inżynierii wstecznej, revival postanowił zaatakować Opole wykładem z numerkiem dwa. Jak to możliwe w średniej wielkości mieście gdzie, gdzie rynek IT jest tak ubogi jak zainteresowanie nim, urządzane są (zaraz po Warszawie) wykłady o tematyce informatycznej? Organizatorów zachęciła zapewne pełna sala na ostatnim wykładzie… No cóż sprawa wyglądała wtedy troszkę inaczej. Studenci dostali cynk, że obecność na wykładzie będzie punktowana, na rzecz pewnego „problematycznego” do zaliczenia przedmiotu, przyszli więc i twardo siedzieli aż do samego końca. O ile tym razem numer się nie powtórzy to zainteresowanie może okazać się o wiele mniejsze. Choć z drugiej strony tematyka internetowa wydaje się z założenia ciekawsza niż Assembler.
Do rzeczy.
Tematyka wykładu będzie obracała się wokół mikroformatów i sieci semantycznej. Czasoprzestrzeń: środa 6 czerwca 2007, godzina 16:00-19:00, sala ST-1 (stołówka) 
1 godzinę poprowadzi Wojciech Zając i opowie o:
1) Czym są mikroformaty, dlaczego warto ich używać?
a) przedstawienie historii semantycznej treści – milowe kamienie rozwoju
b) krotkie przedstawienie mikroformatow – zatwierdzonych i tych w trakcie zmian
2) Charakterystyka i użycie najbardziej użytecznych specyfikacji
a) POSH – stary, dobry html4
b) hCard: dane kontaktowe
c) hAtom: aktualizowana treść
d) XFN – prezentowanie wzajemnych relacji w prosty sposób
d) Bazujące na linkach (rel-tag, rel-home, rel-nofollow, rel-license,
rel-payment, rel-directory, xFolk, VoteLinks)
e) Recenzje, kalendarze i CV (hReview, hCalendar, hResume)
f) Lokalizacja: geo i adr
3) Przykłady dobrego użycia na żywych stronach
a) LinkedIn (hResume)
b) Flickr (geo)
c) Sinedelic (hReview)
d) własny przykład (hCard, hAudio)
4) Narzędzia do pracy z mikroformatami
a) Tails, Operator
b) Generatory i konwertery
2 godzinę zajmie nam Kamil Trebunia ale jeszcze dokładnie nie wie o czym nam opowie, poza tym że będzie oscylowało wokół semantyki sieciowej.
Miejsce zaklepać można tutaj
Jest, już jest. Nareszcie. Tajemniczy projekt, przy pracy nad którym spędziłem ostatnie 8 miesięcy. Wiele nieprzespanych nocy, setki godzin gapienia się w kolorowe literki i nie mniej commitów do repozytorium kodu. Wszystko to doprowadziło do powstania największego w tej części Europy portalu kompleksowo traktującego o piwie i wszystkim co z piwem związane. Co tu dużo mówić, trzeba samemu pozwiedzać.
Korzystając z okazji chciałem oficjalnie podziękować mojemu zespołowi że jakoś udało Wam się ze mną wytrzymać. Mi pracowało się bardzo dobrze, wygodnie i w miłej atmosferze. Przy okazji nauczyłem się kilku ważnych rzeczy:
Nie pozostaje mi nic innego jak zaprosić Was do zwiedzenia serwisu i założenia własnego, unikalnego, piwnego bloga. Serwis nadal będzie się rozrastał więc życzcie nam powodzenia a ja życzę Wam miłego klikania.
Wczoraj moim oczom ukazała się dobra nowina. Gajim po włączeniu i połączeniu się z kontem googlowym ładnie wyświetlił transporty i równie ładnie się do nich zalogował. Tym samy dziwny problem, znikających od jakiegoś czasu transporów, o którym pisałem w poprzedniej notce odszedł w zapomnienie.
Dodatkowo Googlowcy zwiększyli powierzchnię kont webowych albumów Picasa z 250 MB do 1GB. Wprowadzona została też wyszukiwarka zdjęć przeszukująca tagi wszystkich udostępnionych albumów Picasa w obrębie serwisu.
Co prawda w porównaniu z Flickr’em Google pozostaje w tyle i nadal brakuje tak oczywistych funkcji jak ostatnio dodane do albumu komentarze, ale… Małymi kroczkami, byle do przodu.
Kilka tygodni temu pomyślałem sobie, że do kontaktów biznesowych potrzebna mi będzie jakaś własna domena. Korzystając więc z okazji, że w domu mieli karnawałową promocję, rozbiłem mBankową świnkę skarbonkę i wydałem okrągłe 24,28 PLN. Całość operacji, łącznie z oznaczeniem domeny jako zapłacona, zamknęła się w 10 minutach.
Podpięcie joggera pod domenę również nie sprawiło żadnych kłopotów. Oddelegowałem rekord A pod odpowiedniego (217.110.127.251) IP’ka i rano (6h później) wszystko już ładnie działało.
karbownicki.com A 3600 217.110.127.251
Jakieś dwa tygodnie później postanowiłem zabrać się z usługę Google Apps for Your Domain czyli podpięcie usług Googla pod własną domenę. Jako, że korzystam z wieli G-usług taka możliwość wydała mi się bardzo przydatna. Rejestracja nie jest trudna, chociaż nie ma (jeszcze) wersji polskiej. Po wypełnieniu formularza zostajemy poinformowani, jakie wpisy musimy dodać do DNS’a obsługującego naszą domenę. Jednym z nich jest wygenerowany dla nas specjalny adres, który ustawieni udowodni Googlowi, że to rzeczywiście my jesteśmy właścicielami tej domeny. Ustawiamy go jako jako rekord typu CNAME odsyłający do google.com
Po weryfikacji własności domeny zakładamy sobie użytkownika (w wersji FREE możemy ich założyć nawet 100) z prawami admina i logujemy się na niego. Po zalogowaniu mamy do dyspozycji taki oto panel
Początkowo nie usługi nie mają jednak adresów typu coś.naszadomena.com tylko takie brzydkie googlowe. Wystarczy jednak wejść do każdej z usług, kliknąć Change URL i wybrać odpowiadający nam adres. Zostaniemy wówczas poproszeni o dodanie do DNS’a odpowiedniego rekordu CNAME odwołującego się do ghs.google.com. W przypadku wysyłania i odbierania poczty musimy dodać rekord MX odwołujący się do 10 ASPMX.L.GOOGLE.COM
karbownicki.com MX 3600 10 ASPMX.L.GOOGLE.COM
Moje problemy pojawiły się dopiero przy uruchomienia jabbera pod własną domeną. Niby wszystko działało, ale mogłem pogadać jedynie z googlowymi kontaktami. Po dłuższym czasie googlowania i przeglądania różnych zakamarków pomocy trafiłem na rozwiązanie. Magicznymi zaklęciami okazały się brakujące rekordy SRV
_jabber._tcp.karbownicki.com SRV 3600 5 0 5269 xmpp-server.l.google.com
_xmpp-server._tcp.karbownicki.com SRV 3600 5 0 5269 xmpp-server.l.google.com
Hura, działa. No prawie.. A właściwie nie bardzo. Tzn. sam jabber działa świetnie, łączy się z innymi serwerami itd. Nie mogę jednak dodać transportów. Po rejestracji w transporcie nie dodaje się one do listy, no ale nic, zawsze można dodać ręcznie. Po rozłączeniu i ponownym połączeniu również działa. No prawie.. A właściwie nie bardzo. Transport jest bo jest, ale już sam nas nie zaloguje do innej sieci. Trzeba go popychać ręcznie. Najdziwniejsze jest jednak to, że po wyłączeniu komunikatora i ponownym uruchomieniu po transportach już nie ma śladu (sprawdzone na Gajim-ie i Psi). A najlepsze jest to, po wywaleniu transportów na starym googlowym koncie i próbie ponownego dodania dzieje się to samo, chociaż wszystko działało do tej pory dobrze.
Ktoś ma jakiś pomysł ?
Na początku byłem święcie przekonany, że zastanę możliwość podpięcia dotychczasowych usług pod moją domenę. Niestety byłem w błędzie. Nowo założony użytkownik dostaje „nowe” usługi. Nie ma nawet możliwości importowania wiadomości ze starego konta gmailowego, bo jak wiadomo ta opcja jest dopiero w fazie testów i dostępna jest dla losowo wybranych użytkowników. Np. na starym gmailu mam opcję pobierania wiadomości z innych kont, ale pod domeną już nie :) Jedyne więc co mi pozostaje to włączyć forwardowanie i czekać na możliwość importu. Kolejna ciekawostka jest taka, że pojemność konta pocztowego jest stała i wynosi 2GB. Nie zwiększa się codziennie o kilka MB jak to ma miejsce w przypadku zwyczajnych skrzynek gmaila.
Ilość usług dostępnych w domenie jest mocno okrojona. Dokładniej to jest to tylko:
Przy czym np. strona startowa też jest mocno okrojona. Co prawda mamy do dyspozycji prosty edytorek to stworzenia i pokolorowania strony głównej…
...ale np ilość gadżetów do wstawienia z listy:
to 5-6 elementów w każdej kategorii z czego jedyne używalne to kalendarz, podgląd poczty i lista TODO.
Skromność usług wynagrodzić może nam jednak wstawienie własnego logo ;)
Google Apps for Your Domain – no cóż, nie ma rzeczy idealnych. Trzeba się po prostu cieszyć, że jest za darmo i podstawową funkcjonalność oferuje.
Co robią w pracy najlepsi inżynierowie Googla?
Ciężko pracują oczywiście ;)
Dzisiaj będzie o świetnej wtyczce do Firefox’a imieniem CustomizeGoogle Co dokładnie potrafi 43 kB wtyczka ?
Pierwsza z moich ulubionych rzeczy to podpowiedzi do treści zapytania. Dokładniej wygląda to tak:

Jeżeli więc byłeś przekonany/byłaś przekonana, że pisze się prizon brejk to i tak znajdziesz to czego szukasz ;)
Drugą z ulubionych rzeczy są miniaturki stron. Nie chodzi mi to wcale o te przebajerowane skrypty atakujące nas miniaturką po najechaniu na jakiś link, w efekcie utrudniając nam tylko czytanie. Miniaturki wyświetlane są tuż obok linków, dzięki temu, jeżeli szukamy np. kiedyś już odwiedzonej strony, możemy ją namierzyć w ułamku sekundy.
Tak, wiem, jest do tego osobna wtyczka ale CustomizeGoogle potrafi nie tylko to.
A wszystko ładnie podzielone na sekcje z możliwością włączenia lub wyłączenia dowolnej funkcjonalności
Dawno nic tu nie pisałem, ale tak to jest kiedy liczba zadań wzrasta a nam forkowanie nie wychodzi. Więc dziś będzie notka zbiorcza
Z cyklu o jednym takim co zabił filesystem. Teraz już wiem dlaczego przy instalacji moje Gentoo wysypywało się po sugestii użyci murderFS-a. Ono już wtedy coś podejrzewało. Teraz nawet ci od nowel przeskakują na ext3.
Ostatnio od pisania powstrzymuje mnie fakt, że notki lecą też na Polską Planetę Gentoo ale skoro ta leży, a na dodatek znaleźć tam można rozważania o aparatach cyfrowych, więc i ja postanowiłem coś napisać. Nie rozumiem dlaczego osoby blogujące z WordPress-ów, które potrafią generować feedy dla kategorii podpinają całość bloga do planety. Co mnie przecież obchodzi co kto jadł dziś na śniadanie. Jeżeli wchodzę na planetę po to, żeby poczytać o sprawach związanych z Gentoo.
Oczywiście wiem, czepiam się a sam nie mam osobnego feed-u dla kategorii Linux. Jest to jeden z powodów dla których zastanawiam się nad emigracją z joggera. Chociaż minął już sezon wielkich ucieczek na WordPress-y to jednak patrząc teraz perspektywy czasu, wybrali dobrze. Poziom rozwoju joggera jest bliski zeru a na otwarcie kodu też nie ma co liczyć. A więc tak, oni mieli rację. Zgadzam się, wygodne są powiadomienia o komentarzach na innych joggerach, ale wydaje mi się, że zaimplementowanie tego na WordPress-ach to tylko kwestia czasu.
Remember, remember, the 11th of September.
Jutro minie 5 lat od słynnego ataku terrorystów na bliźniacze wieże WTC oraz Pentagon. Z tej okazji chcę Was zaprosić do obejrzenia filmu dokumentalnego, poświęconego tamtym wydarzeniom, który w rzuca nowe światło na całą sprawę i w porównaniu do kilku animacji flash-owych, błąkających się po internecie, stara się rzetelnie wyjaśnić wszelkie okoliczności. Dokument nosi tytuł Loose Change.
Muszę Wam się przyznać że ostatnio troszkę grzebałem... grzebałem w internecie. No i chociaż przypadkiem to trafiłem w dwa fajne miejsca.
Jabbin to otwarty jabberowy klient VoIP. Przypomina troszkę jabberowego Skype'a. Ostatnio dostała mu się nawet obsługa Googlowej biblioteki libjingle dzięki czemu można swobodnie krzyczeć WaZZUP do userów GTalka. Niestety developerzy Jabbina popełnili już na początku fatalny błąd, który jednak zabrnął tak daleko, że nie ma już od niego odwrotu -- użyli QT.
U mnie się nie zbudowało, poczekam na jakiś ebuild o ile takowy kiedyś nastąpi.
Pygoscelis to nie tylko łacińska nazwa pingwina, zwanego pospolicie Gentoo, ale również bardzo ładny dwupanelowy menadżer plików. Prawdziwy święty gral Linuksa, którego tak wielu niestrudzenie poszukiwało. Co prawda nie potrafi jeszcze radzić sobie z FTP ale to tylko kwestia bardzo niedalekiej przyszłości.
Swoją drogą tak właśnie powinny wyglądać strony różnych projekcików. Nic tylko ekran lizać.
Przeczytałem, zarejestrowałem*, szukam**, wciąga***.
* Najpierw przeczytałem tutorrial i zdałem test
** W wolnym czasie
*** Naprawdę wciąga :)
W jaki sposób jeden operator koparki może wkurzyć kilkaset osób ? Sprawa jest bardzo prosta, wystarczy ustawić się w odpowiednim miejscu na linii Opole - Warszawa i kopać tak długo aż łyżka koparki wpieprzy się w światłowód.
Właśnie wczoraj ta sztuka komuś się udała i całe netiowe Opole miało przymusowy odwyk od internetu na 24h. Mnie akurat urwało w połowie ściąganie długo oczekiwanych sterowników nvidii, które to niedawno pojawiły się w Portage.
BTW. Nie dalej jak 5 dni temu Steve Dibb otworzył kilka nowych planet językowych na larrythecow.org w tym również polską. Zapraszam do przyłączania się.
Tuż obok zbioru linków związanych z Gentoo dostępnych pod adresem larrythecow.com urodziła się nowa formacja planetarna. Planeta ale tym razem nie developerów a użytkowników Gentoo dostępna jest po wstukaniu larrythecow.org
Co prawda planeta jest anglojęzyczna, lecz jak głosi przesłanie na dole strony można też zgłaszać blogi w innych językach
We'll even take feeds of different languages, and setup planets for each one if there are enough.
Aby zgłosić swój blog zaopatrzony oczywiście w kanał RSS należy wysłać maila na beandog (małpa) gentoo (kropka) org o treści:
[http://adres_mojego_kanalu_rss.pl/rss.xml]
name = Imię Nazwisko
email = twoj_mail@costam.pl
Who's with me ?
Pomyślałem sobie że wrzucę bo może ktoś jeszcze tego nie widział. LinuxDC++ to bardzo ładny i sprawny klient sieci Direct Connect zbudowany w GTK. Już nie trzeba męczyć się ze startym Valknut'em.
Co prawda nie ma go jeszcze w Portage ale jest już zgłoszony i powinien pojawić się lada dzień. Do tego czasu ebuildy można pobrać z:
http://dx.homelinux.org/gentoo/portage-overlay/net-p2p/dcpp/
Może trudno w to uwierzyc, ale tekst ten pisany jest na moim starym laptopie 486dx, 25Mhz, 1.2GB HDD, 8mb RAM pracującym na minidystrybucji przygotowanej specjalnie na potrzeby mojej "maszyny do pisania" [...]
Ciakawy tekst jak łatwo można zbudować własną minidystrybucję linuksa dopasowaną do naszych potrzeb.
http://www.uw-team.org/index.php?id=arty/minidist
Wczoraj z mojej listy śledzonych kanałów RSS jak i również ze zbioru linków na delicjach zniknęły te, które wiązały się z Ubuntu. Ich miejsce zajęły natomiast kanały i odnośniki do Gentoo Community. Ubuntu jest bardzo ładną, solidną i dopracowaną dystrybucją jednak nie dla pedantów. IMHO żeby nie mieszać w ilości dystrybucji powinno się ograniczyć do dwóch, Ubuntu dla nietechnicznych, Gentoo dla technicznych. Nie ma jak pakiety skompilowane pod swój procesor i soft usmażony wg mojego przepisu czyli flag. Przecież jeżeli nie korzystam z Gnome to dlatego cokolwiek miało by mieć zbędną dla mnie obsługę QT przez którą tylko wolniej się ładują i działają itd.
Prawdą jest, że trzeba poświęcić tydzień na instalację, ale tylko za pierwszym razem i naprawdę nie jest to zmarnowany czas. No i nie ma jak Portage. Teraz mogę swobodnie używać programów w wersjach testowych bez przymusu zmieniania całej gałęzi dystrybucji na niestabilną. No i w końcu mam system zaopatrzony tylko w to co potrzebuje a do tego optymalnie skompilowane.
Póki co moja ilość Gentoo-pozycji w biblioteczce jest niewielka ale cały czas nad tym pracuję.
Jeżeli przegapiłem coś ciekawego to proszę mnie sprostować.
Zaciekawiony dzisiejszym newsem GuessWhy'a postanowiłem sprawdzić jak wygląda mundial oglądany w trybie ASCII. Zgodnie z opisem na stronie 10 minut przed początkiem rzuciłem na konsolę magiczne zaklęcie.
nc ascii-wm.net 2006
Moim oczom ukazały się takie oto obrazki.
Telnetowcy mogą rzucić telnet ascii-wm.net 2006 Obraz idzie na żywo i równiutko z tym co TV. Może rozdzielczość nie jest zadowalająca zwłaszcza przy ujęciach z góry, ale ciekawostka jest niewątpliwa :)
1. Swiftfox - czyli Firefox skompilowany na konkretny procesor. Faktycznie, różnicę widać.
2. Xubuntu - czyli Ubuntu podane w sosie Xfce. Posadziłem na Pentium 466 i śmiga szybciutko.
3. Odkryłem że IE obsługuje jednak margin: 0 auto;, trzeba tylko wsadzić odpowiedni docktype <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">