Sobakowy Blog 2018

Witaj, 2018 roku!

Nie planowałem co prawda rozpoczynać sezonu blogowego w połowie sierpnia, ale szczęśliwie mogę tym razem odezwać się z czymś więcej niż zwyczajowym "No hej, nie było mnie rok, teraz chyba będę, wpisy nadchodzą — kiedyś…". Udało mi się nareszcie skończyć punkt pierwszy, sam szczyt moich list todo od niemal roku. Z lekką dumą informuję, że znajdujesz się teraz na nowej, odświeżonej wersji mojej strony.

Prawdopodobnie… nie zauważyłeś różnicy. I nie są to problemy z cache przeglądarki, a zupełnie zamierzony zabieg. Uznałem, że obecna, czteroletnia forma strony jest w dalszym ciągu adekwatna i (szczególnie przy moich marnych umiejętnościach graficznych) nie ma się co silić na rewolucję. Zrobiłem więc ewolucję, która na drugi rzut oka manifestuje się w najróżniejsze sposoby.

Żegnaj, WordPressie!

Po pierwsze, po ponad ośmiu latach i po raz pierwszy od tchnięcia życia w sobak.pl pożegnałem się z WordPressem. Wspaniałe to było osiem lat, nie zapomnę ich nigdy. Poważnie mówiąc, nie było źle. Nie potrafię wskazać jednego momentu przełomowego, przelania się czary goryczy, które spowodowałoby że rozżalony powiedziałbym dość. Co więc zadecydowało? Suma trzech czynników:

  • Dawka zdrowej ambicji. Nie wypada szewcowi chodzić w najtańśzych butach z sieciówki i nie wypada programiście technologii webowych tworzyć swojej wizytówki na pierwszym lepszym darmowym systemie.

  • Obawy odnośnie bezpieczeństwa. Nie zamierzam tu powielać szeroko rozpowszechnionych mitów. Rdzeń WordPressa jest bezpieczny, pomimo kilku istotnych wtop z zakresu procedowania luk bezpieczeństwa, WordPress w swojej bazowej formie skutechnie opiera się większości ataków.

    To, co można powiedzieć o samym gołym produkcie, nie do końca jest jednak prawdą w wypadku niezliczonych wtyczek. Tak więc w obliczu migracji na VPS-a (o której słów kika za chwilę) poszukiwałem czegoś, co nie wprowadzi mnie na pole minowe.

  • Potrzeba customizacji. Raz jeszcze przyznać trzeba, że WordPress generalnie rozszerzalny jest. Twierdzenie inaczej byłoby zanegowaniem faktu istnienia tak wielu wtyczek i motywów do niego.

    Nie oznacza to jednak, że owe rozszerzanie należy w roku 2018 do przyjemnych. Mimo, że sam jestem autorem kilku z funkcjonalności integrujących się dosyć mocno w poprzednią wersję witryny, to tworzenie tychże można porównać do szambonurkowania. Wraz z rosnącą ilością zmian, które chciałem i chciałbym wreszcie wprowadzić na swojej stronie potrzebowałem czegoś, w czym czułbym się absolutnie swobodnie.

Dlatego też zdecydowałem się na stworzenie własnego backendu w oparciu o framework Laravel, roboczo określonego nazwą kodową Perception (podziękowania dla winka, jak zawsze niezastąpionego w spontanicznym wymyślaniu nazw). Teoretycznie jest to prosta aplikacja CRUD-owa, więc nie będę za wiele rozpisywał się na temat szczegółów implementacyjnych. Chcę jedynie wspomnieć o jednej ważnej decyzji powiązanej ze wspomnianym wyżej poszukiwaniem bezpieczeństwa. Z tego powodu, a także chęci uproszczenia sobie życia — zarówno w momencie developowania jak i korzystania z platformy — zdecydowałem się na zupełny brak panelu administracyjnego.

Obecna implementacja czerpie mocno z konceptu generatorów stron statycznych. Źródłem jej danych są bowiem statyczne pliki tekstowe. W przeciwieństwie jednak do wcześniej wymienionych generatorów nie są z nich tworzone gotowe pliki HTML, a jedynie przejściowa, tymczasowa baza danych, która pozwala na wprowadzenie dowolnej ilości dynamiki i w zasadzie klayczny rozwój aplikacji WWW. Jak wspomniałem jest to też wygodniejsze dla mnie jako użytkownika, bo oznacza że nie muszę walczyć z dowolnym skryptem, próbując do niego dodać wsparcie Markdowna czy używać desktopowego edytora tylko po to, aby później wkleić wynik swojej pracy do formularza na stronie.

Harder, Better, Faster, Stronger

Dużo uwagi poświęciłem poprawie wydajności działania strony. Począwszy od przeniesienia się na szybszy serwer, przez optymalizację backendu, aż po upewnienie się, że wynik jego pracy może zostać szybko pobrany i obsłużony przez przeglądarkę. Zacząłem od podstaw, czyli zmniejszenia ilości i rozmiaru tekstu wysyłanego do klienta, wagi obrazków, zapytań do innych zasobów et ceterra. Wynik całej tej operacji przedstawia skrótowo poniższa galeria.

Pimp my website

Mimo iż nie zdecydowałem się na całościową wymianę szablonu strony, znalazłem dziesiątki, jeśli nie setki pomniejszych rzeczy zasługujących na poprawę w obecnym. Poczynając od rzeczy ogólnych jak zwiększenie kontrastu tekstu, o które prosiliście niedługo po premierze poprzedniej wersji (4 lata, polecam się), przez poprawę typografii, marginesów, kolorów, spójności i podrasowanie pojedynczych podstron, jak portfolio. Więcej szczegółów we wmiaręwykazie zmian na dole wpisu.

Content is an old, impotent king

Wydaje mi się, że blog z założenia jest formą treści, która po czasie zaczyna stanowić pewną historię, więc nie ingerowałem za bardzo w samo sedno byłych wpisów. Nie da się jednak ukryć że przez ponad osiem lat wiele z nich zaczęło odstawać od reszty strony, nie tylko stylistycznie lecz nawet w tak jaskrawe sposoby jak użycie już dawno nieużywanej wtyczki do podświetlania kodu. Poprawiłem też mnóstwo znalezionych po drodze literówek, niedziałających już dawno linków, a czasem nawet skrajnie nieaktualnych lub błędnych informacji (to ostatnie jednak robiłem w drodze wyjątku).

W kontekście treści warto też wspomnieć o porzuceniu możliwości komentowania na mojej stronie. Nad trudnościami technicznymi przeważyły problemy z moderowaniem takiej ilości tekstu i późniejszym utrzymaniu go w ryzach. Wierzę że komentujący mi wybaczą i z formularza na dole wpisów zapraszam do kontaktu w dowolnym miejscu wykazanym w zielonym menu (ikona serduszka na prawo od nagłówka).

Projekty stare i nowe

Sporo aktualizacji otrzymało portfolio. Poza poprawkami stylów, drobnymi korektami wielu z miniaturek, skupiłem się także na aktualizacji zawartej tam treści. Rozbudowałem opisy wielu z projetków, te które doczekały się nowych wersji zyskały często osobne podstrony w portfolio, aby oddzielić je od historycznych już tworów. Wreszcie, opisałem także kilka nowych dzieł.

Pastebin, czyli nowe miejsce do dzielenia się fragmentami kodu źródłowego, które w obecnej formie powstało kilka nocy temu.

Blackoutopus magnum spierdolenia szczyt projektów bezsensownych, nieuzasadnionych i z góry skazanych na porażkę, czyli moje starcie z opisywaną już bestią, bossem projektów legacy — xNovą.

Codice, które od ostatniej aktualizacji pozycji w portfolio stało się zupełnie nowym, otwartoźródłowym projektem. Dawniejsza wersja i delikatny rys historyczny poprzednich podejść został przeniesiony na osobną podstronę.

I wreszcie zupełnie nowa odsłona sobak.pl w portfolio. Podobnie jak wyżej, dawna treść została zachowana w osobnym, podlinkowanym miejscu.

Co dalej?

W chwili gdy to piszę, z mojego osobistego todo znika najbardziej rozbudowany i pożądany punkt od niemal roku. Mogąc się teraz zabrać za inne rzeczy, bez jednoczesnego wywoływania wyrzutów sumienia, planuję okazać trochę miłości starym, zakurzonym projektom, jak i zająć się rozwojem kilku nowszych. Stay tuned!

…ach, nie spodziewajcie się jednak w najbliższym czasie nowych tworów wielkoformatowych pokroju Codice czy codziennych aktualizacji o postępie prac. Stety-niestety gimnazjum mam już za sobą, a programowanie zawodowe skutecznie ogranicza ilość sił i zwyczajną ochotę na dalsze zagłębianie się w kod w czasie wolnym. Postaram się jednak aby każdy miesiąc przyniósł jakąś nową informację o mnie i tym nad czym pracuję.

W-miarę-wykaz zmian

  • znacząco poprawiłem czas ładowania strony (porównanie wyżej)
  • wdrożyłem certyfikat SSL dla sobak.pl i wszystkich subdomen
  • gorsza wiadomość: ze względu na ograniczony czas wycofałem możliwość komentowania wpisów
  • oparłem podświetlanie bloków kodu źródłowego o Keylightera
  • przerobiłem podgląd wpisów z Twittera, które teraz w większości wypadków ładują się natychmiastowo
  • zamieniłem strzałki do paginacji miejscami (następna strona po prawej)
  • zmodyfikowałem listę linków w sidebarze tak aby ich kolejność była losowa
  • poprawiłem wyszukiwarkę tak aby poprawnie obsługiwała przycisk Czytaj dalej dla wpisów, które go posiadają
  • poprawiłem wyszukiwarkę tak aby pokazywała także normalną paginację, a nie tylko strzałki po bokach ekranu
  • dodałem link do profilu na LinkedIn do menu serwisów społecznościowych
  • otwarcie menu wyszukiwania ustawia teraz kursor w polu formularza
  • poprawiłem podświetlanie aktywnego elementu menu na wielu podstronach
  • formularz kontaktowych korzysta teraz z ReCAPTCHA
  • przywróciłem do życia overdocs.net
  • zmiany wizualne:
    • zwiększyłem kontrast tekstu
    • poprawiłem style portfolio (w tym responsywność)
    • poprawiłem style formularza kontaktowego
    • poprawiłem wyświetlanie menu na urządzeniach mobilnych
    • poprawiłem typografię tekstu
    • poprawiłem style nagłówków
    • poprawiłem style cytatów
    • poprawiłem style dla wielu wariantów wyświetlania list
    • poprawiłem wyświetlanie miniaturek w portfolio
    • dodałem style dla boxów z informacją/ostrzeżeniem
    • zmniejszyłem wagę fonta dla pogrubionego tekstu
    • zmniejszyłem delikatnie marginesy dla akapitów
    • dodałem zawijanie bloków kodu po 450px wysokości na urządzeniach mobilnych
    • wiele mniejszych lub zapomnianych poprawek
  • zmiany w treści (lista niepełna):
    • poprawiłem kilkadziesiąt literówek i miejsc z błędnym formatowaniem tekstu
    • poprawiłem wiele niedziałąjacych i przestarzałych linków
    • zoptymalizowałem wagę niemal wszystkich obrazków wyświetlanych na stronie
    • połączyłem podobne tagi dla wpisów
    • portfolio
      • dodałem opis projektu Pastebin
      • dodałem opis projektu Blackout
      • zaktualizowałem opis projektu Codice (opis starej wersji został wydzielony do osobnej podstrony)
      • zaktualizowałem opis projektu dla sobak.pl (opis starych wersji, opartych o WordPressa został wydzielony do osobnej podstrony)
      • zaktualizowałem opis projektu WordPress Cleaner
    • wiele pomniejszych poprawek
  • stats.sobak.pl
    • dodałem podstawowe statystyki z GitHuba
    • kliknięcie w nazwę serwisu kieruje teraz bezpośrednio do mojego profilu

[Mini] Kolejna reorganizacja na blogu

Będzie tym razem krótko, bo i tak już połowa tego bloga to pisanie o nim samym (metablogowanie?). Sprawa pierwsza: kategorie "Komputery" i "Internet" zostały zamienione na jedną kategorię o nazwie "Technologia", bo moim zdaniem poprzedni podział był sztuczny i niewygodny dla mnie. Oczywiście nadal zostają kategorie takie jak PHP/SQL/HTML&CSS - kategoria "Technologia" to po prostu miejsce na inne techniczne rzeczy.

Sprawa druga: w związku z małą ilością treści na blogu, zmieniam troszkę podejście. Będzie pojawiać się więcej wpisów krótkich, dotyczących prostych porad lub pojedynczych wizji w mojej chorej głowie. Będą one poprzedzone prefixem [Mini] tak jak ten.

Pozdrawiam.

Informacja - status projektów

W związku z kolejną długą przerwą od wpisów, myślę, że tym z Was, którzy czytują mnie jakoś w miarę regularnie (są tacy? :P) należy się kilka wyjaśnień. Przyczyn takiego stanu rzeczy jest kilka, jedną na pewno jest fakt, że ostatnio ciężej jest mi się zmotywować i opisać jakiś temat na blogu - tak zwana prokrastynacja. Ponadto od kilku tygodni pracuję z kolegą nad kolejnym projektem - mam nadzieję pochwalić się nim już niedługo.

Chciałem jednak jednoznacznie przedstawić, jak wygląda sprawa kilku moich wcześniejszych "projektów", ponieważ już kilka osób się mnie o to pytało.

Sobak's Blog
Blog jak najbardziej jest kontynuowany. Nie planuję go zamykać czy coś w tym stylu. Obecny deficyt nowych wpisów, mam nadzieję, będzie tymczasowy. Co więcej, z blogiem (a raczej ogólnie stroną) łącze pewne przyszłe plany, które siłą rzeczy wiążą się z kolejnym projektem…

IronCMS 2
Przestój prac rzeczywiście występuje, publiczne informacje o postępie zatrzymały się na drugiej becie. Mimo tego, jest on dla mnie ważnym projektem i cały czas planuję go dokończyć. Aktualnie po prostu wskoczył na drugie miejsce w kolejce - za projekt, o którym wspomniałem na początku notki.

BrzydkiKod
Planowałem większą rewolucję wraz z uruchomieniem nowej wersji strony, ale ostatnio natknąłem się na projekt nospora - pr0.nospor.pl, który całkowicie wyczerpuje formułę pomysłu, który zacząłem realizować. W związku z tym, myślę że nie ma obecnie szans na kontynuację tej inicjatywy - jeśli już, to po prostu podeślę ze zbiorów coś do "konkurencji".

XNova/Blackout
Ktoś to jeszcze pamięta? ;) Ja praktycznie zapomniałem, ale pewna osoba mi przypomniała, więc warto rzecz wyjaśnić. Sprawa obecnie wygląda tak: projekt tego typu może zostać zrealizowany, jednak nie będzie to na pewno przeróbka XNovy, tylko coś pisanego od zera (bardzo możliwe, że z wykorzystaniem części rozwiązań z dostępnych silników). Trzeba jednak pamiętać że to co mam w kolejce spokojnie wystarczy mi na długi czas.

Zakładka projekty
Projekty jako zbiór doczekały się już kilku przeprowadzek. Swego czasu istniał dla nich osobny skrypt, potem zostały zwykłymi podstronami w WordPressie. Na nowej stronie moduł projektów będzie integralną częścią systemu, jednak będzie cechował się specyficznymi możliwościami, innymi od zwykłych podstron i dostosowanymi do wymagań. Krótko mówiąc: staram się połączyć zalety obu rozwiązań.

Jeśli chodzi o zawartość zakładki to część ze skryptów zostanie zakończona na obecnym etapie. Inne natomiast (główne klasy PHP) będą stale aktualizowane, bo zdaję sobie sprawę, że kurz już na nich osiadł no i jakość kodu nie jest najlepsza, dużo się w nim od tamtego czasu pozmieniało.

Jeśli ktoś z Was chce, abym wyjaśnił jeszcze jakąś kwestię o której zapomniałem to piszcie w komentarzach :)

Sobak.pl - nowy szablon

Jedną ze zmian dokonanych przy ostatniej migracji, którą z pewnością moi stali czytelnicy (kilku takich jest :P) zauważyli od razu, jest zmiana szablonu na na moim blogu. Nadal jest to Mystique, jednak wersja, z której korzystałem tak długo pochodziła sprzed ponad dwóch lat (pobierałem ją dziesiątego maja 2010, w momencie zakładania bloga). Teraz, po tak długim czasie zdecydowałem się jednak na pobranie najnowszej wersji. Nie było to łatwe, bo w mojej poprzedniej wersji wprowadziłem ogromną ilość modyfikacji.

Przy tej okazji udało mi się jednak przełamać i zachęcony nowym wyglądem (i częściowo nowymi możliwościami) postanowiłem dokonać aktualizacji i ponownie poprawić co nieco w szablonie. Największą robotą było przetłumaczenie całego szablonu na polski (jeśli gdzieś znaleźliście błędy w tłumaczeniu to proszę serdecznie o kontakt).

Poza tym (tak samo jak w poprzedniej wersji szablonu z której korzystałem) starałem się lekko poprawić wynikowy kod HTML. Niestety, Wordpress zbudowany jest w ten sposób, że pewne fragmenty kodu narzuca odgórnie, więc żeby je zmodyfikować musiałbym albo napisać własne wersje masy funkcji z Wordpressa albo modyfikować jego rdzeń, wykraczając z modyfikacjami poza pliki szablonu, co oznaczało by odcięcie się od aktualizacji oprogramowania, bo przy każdej z nich Wordpress nadpisywałby moje zmiany.

Jedną z wprowadzonych zmian jest przeniesienie favicon.ico z katalogu theme'u do głównego katalogu strony (root). Dlaczego? Część przeglądarek wczytując stronę za każdym razem robi dodatkowego requesta pod /favicon.ico w poszukiwaniu favicony. Dopiero gdy jej tam nie znajdzie, to podąża do lokalizacji podanej w znaczniku meta. Efekt jest prosty, mając favicon.ico w innej lokalizacji od części przeglądarek dostawałem o jedne request więcej przy każdym wywołaniu strony. Drobna poprawka, ale skoro coś może być lepsze tak małym nakładem czasu, do dlaczego tego nie zmienić?

Zrobiłem też trochę porządków w sekcji head dokumentu. Usunąłem linki do RSD, WLW, wersję Wordpressa (meta generator) i jeszcze kilka zbędnych rzeczy. Tutaj na szczęście Wordpress pozwala na modyfikację za pomocą systemu akcji (add_action(), remove_action()).

Chciałem też zmniejszyć ilość dołączanych plików CSS i JS, połączyć je w kilka więszych (bo strona generuje spore ilości requestów), ale żeby to osiągnąć musiałbym przerobić używane przez siebie pluginy oraz szablon, a nie mam ochoty tracić pracy przy każdej aktualizacji wtyczki lub co gorsza rezygnować z aktualizacji.

Tym razem zmian ściśle pod maską szablonu nie było wiele, w zasadzie tylko powyższe drobnostki i dopisanie jednego własnego widgetu.

Mam nadzieję, że szablon Wam się podoba, jeśli macie jakieś uwagi, komentujcie :)

Sobak.pl - kolejna przeprowadzka i duże zmiany

No cóż, nadszedł czas na kolejny taki wpis. Była już przeprowadzka z boo.pl na 1&1. Skorzystałem wtedy z oferowanego przez nich darmowego pakietu na dwa lata (jak się okazało pakiet faktycznie był darmowy, niepotrzebna była tak duża ilość krzyku…) Jednak mimo tego, że na jakość 1and1 naprawdę nie mogę narzekać, to ceny były jak dla mnie trochę za wysokie. Właśnie z tego powodu postanowiłem dokonać migracji strony na serwery linuxpl.com. Domena została przetransferowana do hekko.pl

Przebieg migracji
Standardowo, pobrałem wszystkie pliki i całą zawartość bazy danych z poprzedniego hostingu. Potem skorzystałem z okazji i zrobiłem w nich naprawdę duże porządki, ale o tym niżej ;) Jeśli chodzi o samą właściwą migrację, to wszystko poszło aż zaskakująco dobrze. Po wgraniu plików na nowy serwer zostało mi tylko pozmieniać pliki konfiguracyjne i zmienić dwie opcje w bazie danych Wordpressa - blog działał bez zarzutu :)

Porządki, porządki i jeszcze raz porządki…
Od poprzedniej akcji czyszczenia serwera minął już prawie rok. Jestem zdumiony jak dużo śmieci udało mi się nagromadzić od tamtego czasu, mimo tego, że nie zostawiałem każdego wrzuconego na serwer pliku…

Z najciekawszych rzeczy trzeba wspomnieć, że w momencie kiedy przenosiłem się z boo.pl na 1&1, to działała jeszcze moja stara strona domowa - napisana bez użycia żadnego CMS-a, po prostu zlepek mojego PHP i HTML z kilkoma darmowymi skryptami i pomocą kolegów :) Niedługo po przenosinach do 1&1 postanowiłem skończyć działalność tamtej strony i zastąpić ją blogiem. Jak się okazało, w swojej genialności zostawiłem wszystkie pliki tej strony. Jedyny, którego brakowało na FTP to index.php, podmieniłem go na tego z Wordpressa. Tak czy siak - jeden konkretny śmieć wyleciał z serwera. W Google do dziś bez problemu można znaleźć linki do tamtych podstron mimo, że nie były aktualizowane i używane od prawie dwóch lat.

Krótkie podsumowanie innych rzeczy jakie wyleciały z FTP: jedna z nieskończonych gier mojego projektu i związane z nią forum (skrypt Simple Machines Forum), inne prywatne forum (MyBB), ale przede wszystkim niezliczona ilość wszelakich śmieci - łącznie z FTP ubyło ponad 80MB plików, pozostało poniżej 50MB. Jeśli chodzi o ilości, to z ponad 5.200 plików zrobiło się około 1600.

Porządki w bazie danych
Przed migracją w bazie danych znajdowało się 169 tabel, a jej eksport z phpMyAdmina do formatu SQL zajmował 3,6MB. Po dokładnej analizie i podjęciu kilku decyzji ilość tabel w bazie zmniejszyła się do 13… Rozmiar eksportu natomiast wynosi około 2MB (mniejsza różnica w rozmiarze niż w ilości tabel wynika oczywiście z tego, że większość bazy zajmują tabele związane z tym blogiem). Porządki w bazie danych mogę uznać za bardzo udane, zostawiłem tylko to co niezbędne :)

Zmiana szablonu
Zmianą, która z pewnością będzie zauważana na pierwszy rzut oka jest zmiana szablonu na na moim blogu. Nadal jest to Mystique, jednak wersja, z której korzystałem tak długo pochodziła sprzed ponad dwóch lat (pobierałem ją dziesiątego maja 2010, w momencie zakładania bloga). Teraz, po tak długim czasie zdecydowałem się jednak na pobranie najnowszej wersji. Nie było to łatwe, bo w mojej poprzedniej wersji wprowadziłem ogromną ilość modyfikacji. Jako, że zmiana szablonu pociąga za sobą szereg mniejszych zmian, zapraszam do osobnego wpisu opisującego tę kwestię.

Zmiany na blogu czas zacząć
Migracja na inny hosting była idealną okazją do "podłubania" przy blogu i ogólnie całej stronie. Najpierw na spokojnie zajmowałem się stroną na subdomenie otrzymanej od linuxpl, dopiero po zakończeniu prac podpiąłem stronę pod domenę sobak.pl

Jedną z wielu zmian wykonanych na blogu jest wykonanie aktualizacji zarówno samego Wordpressa jak i używanych wtyczek. Być może zastanawiacie się: co takiego strasznego jest w aktualizacji WP?  No cóż, w teorii nic, a w praktyce miałem już kilka niespodzianek.

Kolejnym posunięciem było usunięcie wszelkiej integracji bloga z Twitterem. Samo konto w serwisie także skasowałem. Nie miałem ochoty na zajmowanie się nim (co doskonale widać było po ilości popełnionych na nim notek - ostatnia była z grudnia 2011 roku… Spójrzmy na to pozytywnie - zawsze to jeden request mniej :)

Być może pamiętacie domenę cms.sobak.pl przeznaczoną na rzeczy związane z IronCMS-em. Ona także zniknęła, linki prowadzące do downloadu skryptu zostały zaktualizowane.

Na blogu został także zmieniony sposób linkowania do wpisów -  z URL-i zniknęły ID. Ponadto w wyniku ogólnych porządków, wiele dotychczasowych adresów mogło się zmienić lub przestać istnieć. Starałem się posprzątać po tym wszystkim, jednak nie mogę być pewien że niczego nie przeoczyłem, dlatego jeśli jakiś link nie działa, będę wdzięczny za zgłoszenie.

Kolejną zmianą wprowadzoną na blogu jest możliwość subskrypcji komentarzy do dowolnego wpisu poprzez email (i RSS).

Przeniesienie projektów na bloga
No cóż, zdaję sobie sprawę, że część z Was pamięta pewnie jeszcze jak hucznie zapowiadałem nowe DevCenter. Okazało się że funkcjonowało troszkę ponad rok. Po tym czasie postanowiłem powrócić do koncepcji trzymania projektów przez Wordpressa. Dlaczego? Otóż uważam że zarządzanie jak największą ilością elementów z jednego miejsca jest po prostu wygodniejsze. Do tego dochodzą takie drobne umilacze jak np. wtyczka Akismet do Wordpressa, która bardzo skutecznie chroni przed spamem. Dopiero przy powiadomieniach mailowych dotyczących każdego komentarza w DevCenter zdałem sobie sprawę jak wiele spamu zalewa moją stronę (liczniki Akismeta nie pokazują tego tak dobitnie).

W najbliższym czasie zawartość zakładki projekty zostanie zaktualizowana o nowe pozycje jak i uaktualnienia istniejących skryptów, poinformuję o tym osobnym wpisem.

Aktualizacja części treści na blogu
Małych aktualizacji doczekały się podstrony Informacje i Kontakt. Na pierwszej dodałem trochę więcej informacji o samym sobie, a także krótko opisałem wszystkie poprzednie wersje mojej strony. Odnośnie kontaktu - muszę przyznać, że od długiego czasu, na wskutek błędnego działania przekierowywania maili na 1&1, na moją skrzynkę nie trafiały żadne emaile wysłane na adres podany do kontaktu. Niestety to prawda, przepraszam za utrudnienia i informuję, że teraz wszystko działa poprawnie, a kontakt jest teraz obsługiwany przez wygodny formularz.

Subkiektywne porównanie hostingów
Przy okazji nowego hostingu nie mogło zabraknąć kilku opinii o obu z nich. Zacznijmy od 1&1. Świadczyli naprawdę dobrą jakość usług. Miły, szybko reagujący support (także telefoniczny), to trzeba im przyznać. Możliwości w darmowym pakiecie na 2 lata też były ładne :) Między innymi takie rzeczy jak 1GB pojemności (z darmową możliwością rozszerzenia do 10GB - nie skorzystałem), nielimitowany transfer, 1000 subdomen, możliwość uruchamiania skryptów Perl i Python, umieszczania własnych plików php.ini - naprawdę przyjemnie.

Jeśli chodzi o LinuxPL, to jakby nie patrzeć, jestem tutaj dopiero trzeci dzień. Możliwości uzyskania wsparcia wydają się naprawdę szerokie: email, numery GG do 13 administratorów (plus pokazywanie ich statusu), pomoc telefoniczna, helpdesk, forum. Na temat tego jak support wygląda w praktyce słyszałem najróżniejsze opinie: od tego że reagują bardzo szybko, do tego, że olewają klienta. Mam nadzieję, że potrzebę przekonania się o tym będę miał jak najpóźniej.

Na nowym hostingu pozytywnie zaskoczyły mnie udostępnione panele. Dosyć wygodny Direct Admin, ich własny Panel Klienta i nowy phpMyAdmin. Akurat jeśli chodzi o panele, to mogę się z czystym sumieniem przyczepić do 1and1. Nie spotkałem jeszcze skryptu z którego korzystają - bardzo możliwe, że to jakieś autorskie rozwiązanie. Totalnie przepakowany JavaScriptem i to do zadań do których nie widziałem potrzeby jego użycia. Ilość JS potrafiła spowodować naprawdę niezłe przycięcie się starszych wersji Opery (fakt, że ta nigdy najlepiej sobie nie radziła z JavaScriptem ;)). Było też kilka denerwujących szczegółów jak np. to że z listy baz danych/kont ftp nie mogłem skopiować żadnych danych (nazwy użytkownika itd), musiałem wejść w edycję poszczególnych elementów, aby móc użyć ctrl+c.

Znacznie wygodniejsze są też nazwy użytkowników FTP, MySQL i baz danych. W 1&1 były to losowo (kolejno?) przydzielane ciągi cyfr w stylu u54543545 czy db34543534. Na LinuxPL bazy i użytkowników tworzy się na zasadzie nazwakonta_nazwabazy/nazwausera czyli w moim przypadku sobak_nazwabazy.

Jednym z parametrów, który był lepszy w promocji na 1&1 był transfer. Tam był nielimitowany, tutaj 20GB/m-c plus 3zł za każdy przekroczony gigabajt. Jednak w moim przypadku będzie on starczał jeszcze na długo, przez dwa lata na 1&1 nie miałem miesiąca, w którym wykorzystałbym więcej niż 2GB transferu.

Kolejna rzecz za którą muszę pochwalić LinuxPL to ilość dostępnych wersji PHP: od 4.4,9 do 5.4.4. Chciałem przeskoczyć na najnowszą wersję, jednak okazało się, że Wordpress nie działa na niej poprawnie (nie widzi z jakiegoś powodu pliku konfigracyjnego), tak więc poprzestałem na wersji 5.3.x

Kończymy I to już chyba będzie na tyle. Wynikiem ponad 1300 słów uzyskujemy najdłuższy do tej pory wpis na moim blogu :) Mam nadzieję, że choć część z Was przeczytała go do końca bez zaśnięcia. Starałem się aby podczas opisywanych zmian poprawić wszelkie zauważone błędy jak i unikać nowych, jednak ze względu na ilość rzeczy jaką zmieniałem, błędy mogą wystąpić. Będę bardzo wdzięczny za ich zgłaszanie w komentarzach do tego wpisu lub poprzez kontakt.

Dziękuję za uwagę.

WordPress zaskoczyć umie

Przyznam się, że odkąd na innym blogu na którym pisuję (polecam swoją drogą ;)) dokonałem aktualizacji WP do wersji 3.2 (co zawsze robiłem, gdy tylko wychodziła polska wersja), byłem dość mocno rozczarowany. Przeszkadzał mi nowy wygląd panelu administracyjnego. Jeszcze bardziej zminimalizowany, jeszcze jaśniejszy i ogólnie jakiś taki dziwny (jak dla mnie, rzecz jasna).

Dlatego też wyjątkowo odkładałem aktualizację WP na sobak.pl. Odkładałem aż do dzisiaj

Czytaj dalej →

Rok i jeden dzień Sobak's Bloga

W tym momencie powinienem napisać, że dzisiaj nadeszła długo oczekiwana data - pierwsza rocznica powstania mojego bloga. Niestety nastąpił pewien wypadek. Pamiętałem miesiąc temu, pamiętałem pół miesiąca temu, pamiętałem 2 tygodnie temu… a wczoraj zapomniałem. :P

Ale teraz nadszedł czas na podsumowanie tego co udało się dokonać przez te 366 dni. No to lecimy.

  • Napisałem 68 wpisów - około miesiąca przed rocznicą założyłem sobie, że dociągnę do 60 wpisów, więc plan zrealizowałem ze sporą nawiązką.
  • Zostawiliście u mnie 207 komentarzy. Dziękuję za wszystkie razem i każdy z osobna :)
  • Licząc tylko od 30. listopada (moment założenia konta na Google Analytics dla sobak.pl) wyświetlaliście podstrony mojego bloga prawie siedem tysięcy razy.
  • Spamboty zostawiły około dwustu "komentarzy". Tutaj wyjątkowo powstrzymam się od podziękowań. Wypadałoby natomiast podziękować Askimetowi.

Najczęściej komentujący:

Im oraz wielu innych, którym też bardzo dziękuję! W końcu liczy się nie tylko ilość, ale jakość.

Ilość wpisów w danych miesiącach (kliknij aby powiększyć) Podsumowanie ilości wpisów

Cele na przyszły rok

  • nie zapomnieć o drugiej rocznicy :D
  • dociągnąć co najmniej do 130 wpisów
  • doprowadzić IronCMS-a do bezproblemowej używalności
  • zrobić podstronę informacyjną dla IronCMS-a
  • ustabilizować ilość unikalnych odwiedzin w Analytics (na razie wygląda to jak zapis sejsmografu po trzęsieniu)

I to by było na tyle. Nie będę zanudzać więcej :)

Zapowiedź CMS-a i porządki na stronie

Około dwudziestego grudnia 2010 postanowiłem zacząć wcielać w życie pomysł, który przechodził mi przez myśl co jakiś czas. Miałem zamiar w końcu odrestaurować stronę sobak.pl. Był to czas, gdy blog stał się rozwiązaniem tymczasowym, w zamian za starą wersję mojej strony (kilka skryptów na krzyż). Postanowiłem napisać taki zalążek CMS-a do jej zarządzania.

Dosłownie dzień później stwierdziłem jednak, że mój przyszły skrypt można by uczynić jeszcze bardziej uniwersalnym i stworzyć niego "takiego pełnoprawnego CMS-a". I zacząłem pisać… szło mi to dość opornie. Dla przyspieszenia prac postanowiłem, że skorzystam z ogólnodostępnego szablonu (za co niektórzy chętnie by mnie zabili), aby jak najszybciej móc skupić się na pisaniu "kodu właściwego".

Pierwsza zmiana nastąpiła siódmego lutego 2011. Wtedy to do udziału w projekcie udało mi się namówić m4tx'a. W tym momencie zmieniłem też nazwę skryptu z samozwańczego SobakCMS na IronCMS (wiem, pachnie ironią…). Jeśli by kogoś interesowało pochodzenie nazwy (w co wątpię ;)), to po w poszukiwaniu nazwy przeglądałem iTunes'a i leciałem właśnie po dłuugiej liście utworów Iron Maiden.

Podczas tego już ponad czteromiesięcznego procesu tworzenia naklepałem tyle kodu i tyle razy go poprawiałem, że wydałem sobie cztery wewnętrzne, niepublikowane wersje dla utrzymania porządku. 25.03 postanowiłem zakończyć tworzenie ówczesnej wersji 0.4 i cały kod uzyskany do tej pory… napisać od nowa.

W ten sposób miałem okazję przyjrzeć się jak bardzo partyzanckie i nieoptymalne rozwiązania tam stosowałem (przykład jednego z nich już przedstawiałem). Poprawiłem naprawdę dużo kodu i w dniu dzisiejszym mogę powiedzieć z radością, że prace zmierzają ku końcowi. Premiera zapowiadanego skryptu powinna się odbyć najpóźniej za tydzień (oby nie było tak jak z Fx4). Uprzedzam tylko uczciwie: proszę nie spodziewać się fajerwerków. Nie jestem zawodowym programistą PHP i jest to mój pierwszy CMS. Nie znaczy to z drugiej strony, że będzie tam masa register_globals, magic quotes ect. Starałem się korzystać z nowoczesnych rozwiązań.

I teraz druga część dzisiejszego wpisu. Przeprowadziłem właśnie (kolejne już) porządki na stronie. Podjęte działania:

  • skasowanie starej wersji bloga - niektórzy może pamiętają, że kiedyś blog mój znajdował się pod adresem sobak.pl/blog. Instalacja Wordpressa leżała tam aż do dziś
  • odinstalowałem wtyczki All in one SEO Pack i Syntax Highlighter Evoled, z którymi miałem małe problemy. Pytanie na marginesie: zna ktoś z Was dobrą wtyczkę do podświetlania kodu w WP
  • odinstalowałem wtyczkę Google Analytics for WordPress zastępując ją zwykłym wklejeniem kodu do szablonu. Naprawdę niepotrzebny mi skrypt PHP na 3000 linii do wygenerowania ośmiu linii JavaScriptu.
  • kilka mniejszych optymalizacji
  • wycofałem wsparcie dla IE6. Przy udziale tej przeglądarki w Polsce na poziomie 2% uznałem, że mogę z czystym sumieniem usunąć hacki na tą przeglądarkę

Ogłoszenia parafialne zakończone. O tym, czy Mojżesz uratował się z potopu dowiecie się w następnym odcinku ;)

Spam Story cz. 2

Uwaga, ten wpis pisany jest w formie, którą nie każdy czytelnik może uznać za normalną. Jeśli po jego przeczytaniu wystąpią dziwne objawy - niezwłocznie skonsultuj się z lekarzem lub farmaceutą.

Pierwsza część Spam Story

sobak.pl, około miesiąca później… Sobak wstrząśnięty wydarzeniami ostatnich czasów schronił się w bezpiecznej w jego mniemaniu domenie sobak.pl. Wiódł spokojne i błogie życie bloggera. Tam jednak też dotarli… (zaciemnienie ekranu, szybkie rozjaśnienie)

Pierwszy cios był związany z Wikileaks. Sobak przez chwilę nawet poczuł się dumny, że tak ważne i ogólnoświatowe wydarzenia jak ataki na ten serwis dotarły i do jego bastionu.

i am a big fan of wikileaks and love it to the core.....[url=http://wikileaks.org]us sucks[/url]

Dwa kolejne komentarze dotyczyły hazardu

obstruct disrespectful the walk-on at the all mod [url=http://www.bestbodog.com]bodog casino[/url], with in [url=http://www.freeamericancasino.com]casino games[/url] and free-born [url=http://www.yourcasinousa.com]casino bonus[/url]. you can also join poker rooms at [url=http://www.bestbodog.com]bodog poker[/url] [url=http://www.liveinternetcasino.com]Casino Spielen[/url] and [url=http://www.casinogameluck.com] Online Casino Spiele[/url] at the report the age in in extra of German casinos exchange looking for DE > players.

obstruct disrespectful the walk-on at the all mod [url=http://www.bestbodog.com]bodog casino[/url] , with in [url=http://www.freeamericancasino.com]casino games[/url] and free-born [url=http://www.yourcasinousa.com]casino bonus[/url]. you can also join poker rooms at [url=http://www.bestbodog.com]bodog poker[/url] [url=http://www.liveinternetcasino.com]Casino Spielen[/url] and [url=http://www.casinogameluck.com]Online Casino Spiele[/url] at the report the age in in extra of German casinos exchange looking for DE players.

Wy też odnosicie jakieś takie dziwne wrażenie, że one są jakoś dziwnie podobne?

Spam inszy
Druga część wpisu będzie dotyczyć spamu… świadomego na który sami się godzimy. Mowa tutaj o mailach od Facebooka. Pewnego dnia otrzymałem wiadomość, że ktoś wstawił tam zdjęcie, na którym zostałem oznaczony. Potem poszło już lawinowo.

Spam Facebook

Tyle to wiadomości dostałem przez dwa dni. Potem przyszły jeszcze z cztery nieumieszczone na tym screenie. Po tym doświadczeniu wyłączyłem opcję powiadamiania o nowych komentarzach do zdjęć, na których zostałem oznaczony.

Epilog
I tutaj historia niespodziewanie się kończy. Sobak poznaje Akismeta, który w ciągu niespełna pół miesiąca blokuje 31 spammerskich komentarzy.

Spamerzy mogą nadal wysyłać swoje konstruktywne wypowiedzi, Sobak nie musi ich usuwać. Nic tylko powiedzieć Wszyscy żyli długo i szczęśliwie…