A co z blogiem?

Co ze mną to już wiemy ;-) A co z blogiem?

Wspominałem już o kosmetycznych zmianach – czcionkę zmieniłem na taką, jaka jest w panelu edycyjnym WordPressa. Ładna. Pasuje mi. Obrazki nowe WordPressowe obsłużyłem (trochę kradnąc mu z CSSa).

Poprawiłem (po długich miesiącach nieświadomości) problem z wyświetlaniem zboczków. Od dziś blog będzie je pomijał tylko i wyłącznie przy wyświetlaniu strony głównej. Dotąd pomijał je zbyt często i nawet przeglądając archiwa czy wręcz kategorię „Zboczki” – nie można było ich poczytać (32 niewidzialne posty!). Przepraszam!
i włączyłem z powrotem wtyczkę „digg-style pagination” – nie mam pojęcia, czemu mogła być wyłączona. Ładna jest i działa.

I naprawdę bardzo bardzo chcę napisać te kilka postów, ale jakoś nie mogę się zmusić ;(

Update 31.07.2008 16:45:
Wordpress 2.6 i LightBox 2:
Ponieważ obrazki WordPressowe aż się prosiły o jakiś LightBox, ściągnąłem i zainstalowałem odpowiedni plugin.  Niemniej jednak zawierał on pewne niedociągnięcia powodujące u mnie wywalenie przez JS błędu:

Błąd: anchor.childNodes[0].getAttribute is not a function
Plik źródłowy: http://blog.ikari.pl/wp-content/plugins/lightbox-2/lightbox.js?ver=2.2
Wiersz: 361

Udało mi się jednak dopisać obejście, które przy okazji okazało się poprawką – plugin sprawnie pobiera opis obrazka. Zamień:

// check for title-less links, and grab image title if needed
stimuli_image_title = "";
stimuli_image_title = anchor.getAttribute('title');
if (!(stimuli_image_title)) {
    stimuli_image_title = anchor.childNodes[0].getAttribute('title');
}
if (!(stimuli_image_title)) {
    stimuli_image_title = anchor.childNodes[0].getAttribute('alt');
}

na:

// check for title-less links, and grab image title if needed
stimuli_image_title = "";
stimuli_image_title = anchor.getAttribute('title');
if1 {
    if (!(stimuli_image_title)) {
        stimuli_image_title = anchor.childNodes[0].getAttribute('alt');
    }
    if (!(stimuli_image_title)) {
        stimuli_image_title = anchor.childNodes[0].getAttribute('title');
    }
}

Czyli unikamy wywoływania funkcji dla nieistniejącego obiektu lub istniejącego, a nieposiadającego tejże funkcji. I super, wszystko działa. Zupełnie przy okazji zamieniłem „ważniejszy” atrybut z opisem obrazka na ‚alt’, bo to właśnie w nim WordPress umieszcza właściwy podpis, który chcemy mieć pod zdjęciem.

Przy okazji poprawiłem parę niuansów, jak koszmarnie rozpaprane stare dwujęzyczne notki (jeśli np. wyciągnęło je na główną z archiwum).

Zboczki nadal nie mają ilości komentarzy obok daty powstania wpisu – bo od kilku wersji zniknął odpowiedni tag we wtyczce :( może stwierdzili, że działało to zbyt mało wydajnie.

Także sam blog nie jest od jakiegoś czasu cache’owany – bo to przeciez cache powodował, że niektórzy widzieli informację, że są z innego kraju – jeśli w ciągu pół godziny przed nimi wyświetlił stronę obcokrajowiec. Czy jakoś tak, jak tam sobie skeszowało. Będzie bardziej męczyć serwer, ale spowolnienia w ładowaniu nie zauważam żadnego – to chyba samo przesłanie kodu HTML jest wąskim gardłem.

Troszkę odświeżyłem i odchudziłem także BlogRoll, geek code i kilka linków. Takie tam.

I panel MyBlogLog wyświetla informacje o użytkownikach – po wewnętrznej stronie, tj. lewej lub prawej, w zależności od tego, w którym sidebarze go wyświetlam ;) Natomiast w pojedynczych wpisach „zwinąłem” kalendarz archiwum – bo po co ma tyle miejsca zajmować…


  1. anchor.childNodes[0]) && (anchor.childNodes[0].getAttribute []

Ka-boom ka-boom!

Utwór na dziś:

I w ogóle jakoś mi się Manson wkręcił ostatnio. Dementuję jakoby miało to jakiś związek z tym wideo:

:x

Update z życia

To może takie małe „co u mnie”. Dawno nie było.

W tym odcinku:

  • O nerwach ikariego po utracie (sprawnego) roweru
  • Narzekania ikariego pragnącego świętego spokoju w domu
  • SKOŃCZYŁA SIĘ KAWA!
  • Konwent Funekai w Łodzi :)
  • Lokalna tragedia :( edit: z happy endem :)

Semestr skończony dumnie. Są wakacje.

Więcej »

Że GDZIE, do cholery, był Matt?!

Pamiętacie Matta? No mam nadzieję.

Nareszcie, po dłuższej przerwie, ukazało się jego nowe wideo! Jak się okazuje, Matt był w Polsce. Nie było mnie tam. Jako jego fan, czuję się potwornie rozgoryczony :( Jest z tego nawet kawał relacji.

Abuuu, ja chcę poznać Matta, ja chcę tańczyć obok niego na wideo ;_;

Oto nagranie Matta z 2008 (imponujące):


Where the Hell is Matt? (2008) from Matthew Harding on Vimeo.

Uczelniane projekty – odbębnić i zapomnieć? – cz.2a

Dziś dwa projekty bazodanowe pierwszy z dwóch projektów bazodanowych. No cóż, odbębnić przeważa. Bo cóż innego można zrobić, gdy celem ćwiczenia jest „zrobić cokolwiek, co korzysta z TuNazwaTechnologii”. W szczególności irytujące było to przy projekcie „Biblioteka”… ale o tym za chwilę następnym razem :)

Oba projekty realizowane były na semestrze IV, czyli właśnie ukończonym. Oba miały korzystać z baz danych – jeden dlatego, że przedmiot nazywał się „Systemy Baz Danych”, a drugi bo tak. Jako ludzie kulturni realizujemy z Michałem oczywiście najczęściej bazy danych dokumentujące dobytek kulturowy cywilizacji w jakimś sympatycznym zakresie ;-). Dlatego też projekty od samego początku kręciły się wokół kolekcji muzycznej oraz kolekcji książek. No fakt, powodem oparcia się na kolekcji muzycznej było także to, że bazę danych tego rodzaju obaj już robiliśmy… w liceum, na zajęciach z informatyki. To i dane – dość pokaźna ich ilość z licealnej bazy MKLa – były już gotowe.

Jak to wyglądało? Od czego należało wyjść, jakie były wymagania, jak się nad tym pracowało i co z tego wyszło? No cóż… :) Skoro nadal to czytasz, to zapewne lubisz takie narzekania…

Projekt nr 2 – sklep muzyczny

Czemu sklep, a nie kolekcja? Ano bo kolekcja to taka dość statyczna jest i chyba MKLowa baza od początku bardziej sklepową była ;)

Wymagania? Jakaś baza, kilka tabel, jakieś relacje między nimi, jakiś formularz, jakieś raporty. I „żeby coś liczyło w bazie”. Technika realizacji? Dowolna, czyli MS Access 2003, a przynajmniej tak zrozumiała tę dowolność znakomita większość grupy (roku?). My się wyłamaliśmy i [żeby się nie męczyć :P] zrobiliśmy to w czymś, co znamy i w czym powstawała licealna wersja projektu: nieśmiertelny tandem PHP+MySQL. O dziwo PHP na uczelnianym serwerze jest, a MySQL można sobie utworzyć. Bezboleśnie.

Zasadniczo główny kod został rozbudowany i dopieszczony przez MKLa, bez bicia przyznaję, że mój udział był raczej znikomy, a są miejsca, że nawet nie wiem, jak coś działa ;P Cóż więc tu mogę powiedzieć.

W warstwie prezentacji (student informatyki umie stosować mądre określenia na proste rzeczy) jest to bardzo prosty HTML potraktowany bardzo prostym stylem CSS, a grafika całej strony z podstronami zamyka się w kilku obrazkach. Błękit (miał być szafirowy, okazał się wpadać w ciemny turkus – bo nie miałem skalibrowanego monitora), pomarańcz, trochę ciemnej czerwieni tam, gdzie pole powoduje zmiany w bazie.

Strona główna sklepu z rozwiniętym pierwszym działem Sklep muzyczny - wybrany jeden album bez okładki
Sklep muzyczny - raporty dot. zamówień Sklep muzyczny - wybrany album z okładką

W sklepie znalazło się też kilka javascriptowych myków takich jak obsługa okłądki płyty – gdy nie ma nic w bazie, mamy „brak okładki” widziany na screenie nr 2, ale gdy jest wpis w bazie, a nie uda się pobrać poprawnej okładki (link jest nieaktualny – bo tak naprawdę okładki kradniemy z innych serwisów ;P), to JS podstawia znów domyślny obrazek „brak okładki”, by nie zostawić brzydkiego krzyżyka. Drugi myk to formularz, w którym ustalamy kryteria do wygenerowania raportu – wszystko jest w nim kosmicznie dynamiczne (hail to MKL) – treść formularza zmienia się w zależności od wybranych opcji, natychmiast po kliknięciu (no AJAX here).

Tak, sklep jest zrealizowany od strony zarządzania sklepem, a nie z punktu widzenia klienta! Daje to większe pole manewru do dłubania w bazie danych.
Zamówienia początkowo były na każdy album z osobna, ale pani prowadząca przedmiot nie czuła się z tym dobrze i trzeba było dorobić jakieś „koszyki” ;-)

Tu można pobawić się sklepem i jego bazą danych – ale proszę nie psuć. Bazę ewentualnie możemy co jakiś czas przywracać do stanu oryginalnego (przykładowego), ale lepiej nie stwarzać ku temu okazji ;) W razie nadużyć sklep i baza zostaną po prostu usunięty z konta, więc po co to komu ;)

Największy ból projektu?

Największym problemem było tu… oddanie projektu. Mieliśmy gotowy długo przed terminem, ale prowadzące nie wykazywały zainteresowania / nie potrafiły znaleźć czasu (?), by rzucić na niego okiem. Dlatego też poprawki pod kątem ich widzimisię takie, jak wprowadzenie koszyków, trzeba było robić pod koniec semestru, gdy chcieliśmy zająć się innymi przedmiotami.

Czego nauczył mnie ten projekt?

Y… e… zakładać konto MySQL na uczelnianym serwerze. Śmiać się z tych, którzy psioczą miesiącami na Accessa, a robią w nim projekt przecież z własnego wyboru, lub nieświadomości, że wybór w ogóle był. Ale o tym przecież była mowa już na początku semestru..

Nie nauczył mnie natomiast wygenerowanego losowego hasła do bazy danych – o wiele za długie i zbyt losowe ;) Więc kilkukrotnie jeden z nas je dyktował, a drugi klepał :D

Czas wykonania – no idea.
Skład: ikari & MKL.
Podział pracy: unfair. [yeah, przyznaję]
Satysfakcja: 7/10 [just because]