Sobak's Blog
Trochę o wszystkim i wiele o niczym
Trochę o wszystkim i wiele o niczym
13 maj
Czasem lubię pograć w jakieś stare gry, klasyki – na przykład Settlers II, Heroes III of Might and Magic, Gothic I i II itp. Jeśli chodzi o nowe gry, to gram w nie raczej niewiele. Obserwując z boku to, jak zmienia się rynek gier i jak wyglądają dzisiejsze produkcje muszę przyznać, że zmiany przyjmują kierunek coraz bardziej niekorzystny dla gracza.
Pierwszą sprawą na którą chcę zwrócić uwagę są wszechobecne zabezpieczenia antypirackie. Połowę instalacji stanową bzdurne kody zabezpieczeń, klucze seryjne, aktywacja przez Internet itd. Miałem kiedyś taką sytuację, że nie mogłem uruchomić gry – jak najbardziej oryginalnej. Po bardzo długich próbach z mojej strony pomógł mi kolega, okazało się, że system zabezpieczeń stosowany przez grę doczekał się nowej wersji – o ile pamiętam to trzeba było podmienić jakiś DLL.
Drugim przykładem na to, jak przez zabezpieczenia antypirackie cierpią legalni gracze jest niedawna sytuacja firmy Ubisoft (dystrybutor m.in. wspomnianych Heroes III, zobaczcie ile się zmieniło przez te lata). Otóż firma ta przenosiła serwerownię (wraz z serwerami, które sprawdzały legalność), w związku z czym nabywcy ich gier przez około tydzień nie mieli możliwości grania. A piraci? A piraci grają
I jak tu być dobrym?
Kolejny mój zarzut wobec dzisiejszych gier będzie powiązany z pierwszym. Posłużę się kolejnym porównaniem do Heroes III, korzystając z okazji, że obok mnie leży pudełko z oryginalnymi Heroes VI. Już na przodzie pudełka widnieje napis „Wymagane jest jednorazowe połączenie z Internetem celem uruchomienia gry”. Totalny bezsens – po co marnować łącze, po co marnować czas? Pomijam już oczywistą wadę, osoby pozbawione internetu nie zagrają nawet w single player…. Gdzie tu logika?
Trzecia sprawa – otwieramy wyżej wspomniane pudełko. Kiedyś ujrzałbym tam instrukcję – grubą bądź nie, ale zawierającą najważniejsze informacje, takie do jakich warto sięgnąć podczas gry. Co widzę teraz? Zobaczmy po kolei:
I co? To cała zawartość pudełka. Zero przydatnych rzeczy. Ach nie, przepraszam! Ubisoft w cenie gry sprzedał nam parę gram opału. Doprawdy, nieoceniona pomoc!
Kolejny zarzut wobec dzisiejszych gier. To w zasadzie może być połączeniem obu powyższych spraw. Tym razem konkretnym przykładem będzie gra GTA IV. Więc tak: instaluję sobie tę genialną grę, 16GB. Zastanawiam się ile GB mógłbym zaoszczędzić nie dostając chociażby hiszpańskiej wersji językowej w pakiecie
Odpalamy grę. Tutaj się zaczyna długa droga
Najpierw jedno logo, potem odpala się aplikacja Rockstar Games Social Club, możemy się tam zalogować, ale mam to głęboko w dupie, zbywam pierwszy przeszkadzacz przyciskiem „Skip login”. Potem zaczyna się odpalać sama gra. Oczywiście, coprygihty muszą być. Gratis do nich dostajemy cudowną możliwość zalogowania się do Windows Live, który towarzyszy nam przez całą grę, możemy go wywołać klawiszem HOME. No tak, właśnie o tym marzyłem uruchamiając GTA… Potem już tylko przebrnąć przez logo Rockstar Games, Rockstar Games North i mamy ekran startowy gry. 2/3 tego ekranu stanowią informacje od wydawcy pobierane z internetu. Rozumiem potrzebę marketingu, ale to kolejny syf przedłużający oczekiwanie na grę. Mam ochotę nauczyć się assemblera i okroić tę aplikację…
Sprawa chyba ostatnia. Totalny przerost formy nad treścią. Cukierkowa grafika plus totalny brak gry walności, zero oryginalności – bardzo częsta przypadłość w tych czasach. Minecraft się broni
Przez tą ilość wodotrysków i wyżej wspomnianych pierdół, gry są bardziej zasobożerne. Odnoszę wrażenie, że nikomu już nie chce się optymalizować aplikacji.
Nie oczekuję czegoś ogromnego od gier. Chcę odpalić grę i pograć… Chcę zapłacić za produkt, nie za stos spamu w pudełku. Chcę dostać jakiś poziom grywalności a nie tylko cudną grafikę. Czy to naprawdę tak duże wymagania?
A Wy co sądzicie o dzisiejszych grach? Mam rację, czy po prostu zatrzymałem się w rozwoju i jestem niedzisiejszy?
24 kwi
Dziś bardzo ważny dzień dla wszystkich gimnazjastów gimnazjalistów – test gimnazjalny. Ich mała matura, ich wstęp do dorosłości… ok, wystarczy pierdzielenia
Powiedzmy po prostu, że wieki nie pisałem na blogu nic o szkole i nagle poczułem wenę. To będzie krótkie (krótkie w założeniu – dop. po skończeniu pisania) sprawozdanie z tegorocznego egzaminu, przeplatane moim bezcelowym komentarzem. Zapraszam
Strach przed tym konkretnym egzaminem był bardzo duży. Wiadomo było, że szykuje się nowa formuła, a już zeszłoroczny test nie należał do najłatwiejszych. Dużo osób obstawiało dwie możliwości: albo tegoroczny test będzie łatwy, a dopiero późniejsze roczniki dostaną trudniejsze, albo my dostaniemy bardzo trudny test i gdy wyniki będą naprawdę słabe, to kolejny rocznik dostanie prostszy.
Jednak zaobserwowałem (nie tylko po sobie), że im bliżej testu (mowa o jakimś ostatnim tygodniu), tym mniejszy był stres. Ludzie, przynajmniej z mojego otoczenia, starali się podejść do niego w miarę na luzie, nie robić sobie zbędnego stresu. Czas przejść do konkretów, czyli opisu dnia dzisiejszego:
Mimo, że test miał się zacząć o godzinie dziewiątej, do szkoły mieliśmy przyjechać już o 8:15. Wiadomo, szkolna organizacja… Pół godziny na wpuszczenie 130 osób na salę, to raczej optymistyczny termin
Przyjechałem chwilę przed czasem. W zasadzie większość przyjechała przed czasem, po czasie byli nieliczni… między innymi nasza wychowawczyni, a wraz z nią klucz od sali
Do tego momentu miałem odebrane już kilka SMS-ów i jeden telefon z życzeniami powodzenia. Oczywiście nie wiadomo jak odpowiedzieć, nie? Wiadomo, nie dziękuje się, żeby nie zapeszyć. Tak więc wszystkie te życzenia kończyłem politycznie poprawnymi stwierdzeniami w stosunku do sił wyższych, takimi jak „przyda się” albo po prostu „tobie też”. Mój tyłek został obdarowany około 5 kopniakami. Cel szczytny – pięcioro więcej szczęśliwych ludzi na tym padole. Po spędzeniu 15 minut w sali, podczas której ludzie pocieszali tudzież dołowali się nawzajem, przyszedł czas na wchodzenie na rzeź salę gimnastyczną.
Ustawiliśmy się w dłuuugą kolejkę – jak za PRL-u, tylko takiej radości z dostania się do końca nie było. Praktycznie nikt nie robił sobie nic z tego, że mieliśmy stać alfabetycznie. Znany wielu osobom Misiek vel. Łukasz K. jak go ostatnio nazwano, z wesołą miną stał na końcu kolejki, przez co skutecznie opóźnił wejście o kolejne minuty. Bóg chaosu został nasycony – sukces
Kolejnym elementem, który spowodował zamieszanie przy wchodzeniu było pojawienie się dwóch panów z kamerą. Nikt nie miał ochoty wcielić się w rolę szkolnego celebryty, tak więc panowie nie zostali przyjęci szczególnie ciepło. Kwintesencją naszego podejścia było świecenie kamerzyście laserem po oczach i okrzyk „Spierdzielać! Nie życzę sobie by mnie kamerować!”. Wtedy poczułem się jak na pegieerze, a nie w gimnazjum. Takie ludowe klimaty
W końcu, po jakichś dwudziestu minutach, wszyscy uczniowie znaleźli się na sali. Powiem szczerze, że takiego rozprężenia nie widziałem na żadnym z trzech testów próbnych: każdy znalazł sobie temat, byle jak najbardziej odległy od egzaminu. Panowie z telewizji wyłapywali kolejne ofiary, tym razem niezdolne do ucieczki bo uziemione przy stolikach. Zaczęły się m.in. rozważania z jakiej to telewizji mogli przyjść. Z najciekawszych typów warto wymienić: Al Jazeerę, Telewizję Szatana czy Russia Today.
W końcu dwaj uczniowie w asyście nauczyciela (nauczyciel w asyście dwóch uczniów?) przynieśli zaplombowane testy. Każdy otrzymał dwie naklejki z kodem i zaklejony test. Padło polecenie aby przed rozcięciem sklejeń na teście, zapoznać się z instrukcją. Szkoda tylko, że jej pierwszym punktem było sprawdzenie ilości stron w teście
Ponadto zdarcie tych plomb bez nożyczek nie było łatwe, dopiero potem ktoś odważył się spróbować przerwać je jednym pociągnięciem i upewnić się, że nie rozedrze tym arkusza na pół.
Tutaj wszystko poszło dość sprawnie i już osiem minut po dziewiątej rozpoczęliśmy pisanie – godzina na WOS i Historię. Na szczęście ktoś na zewnątrz sali postanowił nam umilić pisanie testu starym klasykiem: Wilki – Bohema (szerzej znane jako „Lecę bo chcę”) – bardzo fajnie z jego strony, tylko troszkę głośno jak na moment, w którym wymaga się pełnego skupienia.
Jeśli chodzi o materiał, to powiem, że okazał się łatwiejszy niż przypuszczałem. Najwidoczniej rząd postanowił pokazać, że ich reforma przyniosła efekty – „patrzcie! napisali test lepiej niż poprzedni rocznik, czyli nie spieprzyliśmy. Ave my!”.
Można było wyjść wcześniej, ale czas na pisanie tej części testu skończył się o 10:08 (godzina zegarowa). Potem było przewidziane około 45 minut przerwy, tak aby o 10:45 rozdać arkusze z języka polskiego.
Jeśli chodzi o język polski, to było naprawdę wiele typów odnośnie tematu. Niektórzy przewidywali Szymborską, a przynajmniej fragmenty z Nią związane, jeśli komisja zdążyła przygotować zadania. Okazało się jednak, że motywem przewodnim uczyniono Zemstę Aleksandra Fredry. Nie pamiętam ile jeszcze było wierszy, ale jednym z nich (o ile nie jedynym) była któraś z bajek Krasickiego.
Zadania zamknięte z polskiego okazały się bardzo proste. Zajęły mi koło 12 minut, tak jak większości osób. W całym teście z polskiego było tylko jedno zadanie typowo gramatyczne – w wersie „Gniewał się wędrujący i przeklinał bogi” znaleźć podmiot (zadanie zamknięte), czyli materiał bodajże z czwartej klasy podstawówki, nie pamiętam dokładnie.
W całej części humanistycznej umieszczono jedynie dwa zadania otwarte: pytanie do fragmentu książki Jana Miodka (jego teksty bardzo często pojawiają się na testach, także próbnych) i dłuższą formę wypowiedzi, którą okazała się… rozprawka – a to zaskoczenie
Byłbym naprawdę zdziwiony, gdybyśmy nie dostali rozprawki.
Temat rozprawki był raczej nieskomplikowany „Literatura pozwala lepiej poznać i zrozumieć minione wieki. Rozważ słuszność tego stwierdzenia w rozprawce. Zilustruj swoje argumenty przykładami literackimi”.
Do końca egzaminów pozostały jednak jeszcze dwa dni – część matematyczno-przyrodnicza i język. Być może podzielę się jakimś krótkim (krótszym niż to) sprawozdaniem z kolejnych dni.
Gratuluję tym co dotrwali do końca, nieświadomie spłodziłem jeden z najdłuższych wpisów na swoim blogu.
7 kwi
Mamy już kwiecień, Wielkanoc. Od styku stycznia i lutego minęły już ponad dwa miesiące. Czy ktoś pamięta jeszcze o bardzo głośnej w tamtym czasie sprawie z ACTA? Ktoś na pewno… Czy pamięta o tym większość opinii publicznej? Na pewno nie…
Wtedy wszyscy byli nakręceni, z akcją udało się trafić do naprawdę wielu osób, które pozornie nie były nią zainteresowane. Było to zresztą bardzo dobrze widać na ulicach – mało kto wiedział przeciwko czemu protestował.
W tamtym okresie udało się przeniknąć do mediów maintstreamowych, do szerokiej opinii publicznej. Stało się to za sprawą tak krytykowanych ataków „Anonymos” na witryny rządowe. Generalnie mówiąc: nie popieram takiej formy przekazu jak atakowanie strony, z którą chce się prowadzić dyskusje, ale uważam, że trzeba przyznać, że bez tych ataków, sprawa nigdy nie dostała by się do głównych mediów. Potrzeba było sensacji, złamania prawa, zrobienia czegoś „przeciwko systemowi”, aby zwrócić na tę sprawę uwagę tych środków przekazu. Dlatego też, uważam, że „Anonimowi” (zamierzenie lub nie) odwalili w tym aspekcie kawał dobrej roboty.
Temat ACTA już dawno ucichnął, pojawiły się nowe, które zajęły media. Rząd oficjalnie wycofał się z planów wprowadzania ACTA w Polsce. W związku z tym zniknęło też zainteresowanie większości społeczeństwa. Tymczasem, na horyzoncie pojawiły się doniesienia o pracach nad kolejną ustawą typu SOPA/ACTA/PIPA – tym razem jeszcze ostrzejszą.
Czy i tym razem uda się zapobiec cenzurze internetu? Już chyba jasne jest dla Was sedno mojego wywodu: aby było zainteresowanie opinii publicznej, musi być zainteresowanie mainstreamu. Tak więc czy teraz uda się przyciągnąć ich uwagę? Wątpię, żeby udało się tego dokonać kolejnymi atakami na witryny internetowe, w końcu już w styczniu było ich tyle, że ludzie powoli zaczęli przechodzić nad nimi do porządku dziennego…
Załóżmy jednak, że komuś uda się ściągnąć zainteresowanie na ten temat. Powiedzmy, że przejdzie do ataków realnych, obrzuca ministra Boniego kamieniami – taki personalny bruteforce
Czy ludzie będą się w stanie zmotywować do kolejnych protestów? Sądzę, że nie i widzę to już po moim mieście. W Olsztynie na pierwszą manifestację (25.01.12) przyszło około trzech tysięcy osób. Wynik nie najniższy patrząc na liczebność miasta i wyniki z reszty kraju. Na drugą manifestację odbywającą się bodajże trzeciego lutego przyszło już tylko kilkanaście.
Widać, że zdobycie zainteresowania ludzi i skupienie go na jednej kwestii przez długi czas jest praktycznie niemożliwe. W związku z tym, wybaczcie, ale happy endu nie będzie. Sądzę, że jeszcze maksymalnie trzy próby wprowadzenia tego typu prawa i któraś z nich na 100% zakończy się sukcesem.
I tak całkiem przy okazji: Wesołych świąt (nie wiem kiedy się składa życzenia, nie wiem kiedy są święta… jutro?). Jak nie trafiłem z terminem, to otwórzcie sobie we właściwym dniu
21 mar
Witam, dziś bez zbędnego gadania, będzie bardzo krótko.
Przedstawiam to proste zapytanie SQL, które pobierze tytuły wpisów i ilość słów w nich zawartych oraz posortuje po ich ilości.
SELECT post_title, (LENGTH(post_content) - LENGTH(REPLACE(post_content, ' ', ''))) AS words FROM wp_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY words DESC
Tak, to tyle. Na koniec screen z fragmentem wyniku działania na przykładzie mojego bloga:
Amen, dobranoc państwu
15 mar
W pierwszym wpisie o Blackoucie – silniku gier strategiczno-ekonomicznych via WWW przedstawiłem zaledwie szkic moich notatek. Dlatego też, zgodnie z obietnicą postaram się przybliżyć bardziej jeden z aspektów.
Ostatnio wziąłem na warsztat kwestię w xNovie dość kluczową, podliczanie punktów graczy. Podliczanie w xNovie punktów jest czynnością wykonywaną z panelu administracyjnego, która w założeniu raz dziennie ma policzyć punkty dla każdego gracza i sojuszu w grze, aby potem zapisać je w bazie i przedstawiać np. w zakładce „Statystyki”. Pierwszą sprawą jaka powinna zaintrygować każdego jest pytanie o to, dlaczego taka sprawa nie jest wykonywana automatycznie za pomocą CRON-a. Szczerze mówiąc nie wiem
Wiem za to, że w xNovie cały skrypt odpowiedzialny za to jest wepchnięty jako zakładka panelu administracyjnego, dlatego nie za bardzo jest możliwość podpięcia tego do CRON-a. Trzeba by to wydłubać do osobnego pliku.
Dlatego też w Blackoucie podliczanie punktów służących do tworzenia statystyk zostało po prostu umieszczone w funkcji BuildStats() (konwencja nazewnictwa zgodna z resztą funkcji w xNovie, żeby nie robić bałaganu większego niż już jest). W tym momencie miejsce wywołania tej operacji (panel administracyjny/CRON) nie ma żadnego znaczenia. Całe podliczenie statystyk sprowadza się do wywołania jednej funkcji.
Budowanie statystyk zostało w xNovie rozbite na dwa pliki: admin/statbuilder.php i admin/statfunctions.php. Cztery funkcje znajdujące się w drugim pliku uprościłem lekko (bo standardowo, jak to w xNovie, generowały trochę nigdzie nie używanych danych) i jako, że są używane tylko przy podliczaniu punktów, przerzuciłem je do pliku z funkcją BuildStats()
Jeśli chodzi o objętość kodu. W xNovie: plik statbuilder.php – 308 linijek, statfunctions.php – 87. Razem daje to 395 linii kodu. U mnie plik spełniający funkcje dwóch powyższych, czyli BuildStats.php zajmuje 232 linijki.
Jedną z kilku przyczyn takiej różnicy w długości kodu jest to, co znalazłem na końcu statbuilder.php – otóż na koniec pliku do podliczania punktów doklejono na chama (nie zgadza się nawet poziom wcięć, choć to w xNovie norma) kod do usuwania nieaktywnych użytkowników. Najlepsze jest to, że w xNovie istnieje już funkcja do usuwania użytkownika razem ze wszystkimi potrzebnymi do tego rzeczami (usuwanie planet, flot, sojuszy itd. itd.)
Wprowadziłem też kilka usprawnień w tabeli która przechowuje statystyki graczy i sojuszów. Zacząłem przede wszystkim od skasowania zbędnych pól – ich liczba zmniejszyła się 25 z do 19, spadł więc też rozmiar trzymanych danych. Najlepszym dowodem na brak myślenia jest fakt, że data podliczenia statystyk, która jest jednakowa w całej tabeli jest przechowywana przy każdym jej rekordzie. A ich może być sporo – po jednym na każdego gracza i na każdy sojusz w grze.
Jeśli chodzi o drugą część wpisu, czyli CRON-a. W oryginalnej xNovie było wiele czynności, które można by wykonywać z jego pomocą – na czele oczywiście podliczanie punktów. Wstępnie w Blackoucie zdecydowałem się aby skrypt odpalany CRON-em realizował następujące zadania: podliczanie punktów, usuwanie graczy, którym minął czas na aktywację konta, w przyszłości także podliczanie rekordów (będą cache’owane i generowane raz na dobę) i wykonywanie innych cyklicznych czynności związanych z przewidywanymi nowymi możliwościami w grze. Oczywiście każda czynność wydzielona do funkcji, tak aby problemem nie było na przykład wywołanie jej z panelu admina.
I to na tyle w tym wpisie, siadam do kodu
10 mar
Już sporo czasu upłynęło od ostatniego wpisu na moim blogu, tak więc stwierdziłem, że nadszedł czas na podzielenie się częścią informacji o tym nad czym właśnie pracuję.
Być może pamiętacie poprzedni wpis „recenzujący” skrypt xNova służący do tworzenia własnych klonów gry przeglądarkowej Ogame. Postanowiłem przepisać go po swojemu i uzyskać z niego w miarę uniwersalny silnik gier MMORPG via WWW. Zależy mi na tym, aby nie był ściśle ukierunkowany na grę dziejącą się w kosmosie, żeby po dokonaniu zmian w szablonach, plikach językowych i ewentualnie lekkich zmianach mechaniki móc na nim postawić dowolną inną grę strategiczno-ekonomiczną. Skrypt zdecydowałem się ochrzcić Blackout (nazwę, tak jak zazwyczaj wymyślił Rhino, chwała mu za to). Może nie jest to nazwa super oryginalna, ale bardzo chciałem uniknąć kolejnego potworka o nazwie „Super Game Uber-pro Elo Melo Maka-Faka Engine”.
Jak wskazują daty modyfikacji niektórych plików – przepisywanie skryptów zacząłem dziesiątego lutego tego roku. Tak więc całkiem przypadkiem dziś mija miesiąc – sądzę, że to niezły pretekst do opisana tego co udało mi się zrobić i tego co mnie jeszcze czeka.
Tak więc: zacząłem od przygotowania najbardziej potrzebnych elementów do rozpoczęcia pisania. Poprawiona klasa baz danych, wzorowana lekko na tej użytej jeszcze w Iron CMS-ie, bardzo prosty logger błędów i króciutki system obsługi szablonów (nie ma chyba nawet 60 linijek).
Zacząłem rzecz jasna od napisania plików dołączanych do każdej strony – mamy więc znany z oryginalnej xNovy plik common.php – w przebudowanej formie, ale spełnia identyczne w założeniu zadanie – wykonuje czynności potrzebne przy wczytaniu każdej strony (np. sprawdzenie czy gracz nie jest zbanowany). W moim silniku pozostały jeszcze resztki ze sławetnego pliku todofleetcontrol.php (możecie o nim przeczytać w tym wpisie, punkt 10). Na razie okroiłem go tylko i przemianowałem na pure_evil.php – sądzę, że to bardziej adekwatna nazwa
. Potem zostanie usunięty, a każda podstrona będzie ładować tylko to, czego faktycznie potrzebuje.
Jeśli chodzi o zakładki, które dla użytkownika są najważniejsze to:’
Tak, wiem, w większości zrobiłem sobie z tego wpisu kolejne wcielenie notatek odnośnie skryptu, mam jednak nadzieję, że umieszczenie tego publicznie pomoże mi się zmotywować do dalszej pracy.
Jak widać, wiele jeszcze przede mną, myśląc o kilku plikach robi mi się słabo
, ale jakoś to będzie… Więcej konkretów, mniej suchych notatek obiecuję już w przyszłym wpisie.
13 lut
Witajcie, w kontynuacji dawno zaczętej serii, w której przyglądam się największym „perełkom” pośród skryptów PHP. Dzisiaj pod nóż pójdzie coś specjalnego, prawdziwy as wśród asów. Drodzy Państwo, przywitajcie xNovę.
Najpierw krótko o samym skrypcie. xNova to skrypt, który ma umożliwić tworzenie gier MMO via WWW wyglądających dokładnie jak OGame (mówimy tutaj o starej wersji, bo od czasu wydania ocenianej wersji skryptu, OGame doczekał się całkowitej przebudowy interfejsu).
Ciężko jest nawet powiedzieć jaką wersję będę opisywał, bo xNova od wieków nie posiada oficjalnej strony/forum/bloga. Tak więc namnożyło się bez liku wersji (najczęściej po prostu przeróbek prywatnych osób, które połatały 3% bugów i zoptymalizowały kilka zapytań). Wersja którą mam, była opisana jako „xNova 0.3 Multilanguage”, ale zdefiniowana wewnątrz skryptu stała VERSION miała wartość 0.8, więc mamy niezły rozrzut.
W związku z ilością bugów oraz masą amatorsko tworzonych „nowych wersji” najczęstszymi poradami na bugi zamieszczonymi na „profesjonalnych suportach xNovy” nie są wcale poprawki błędnej linijki, tylko zdanie „podmień sobie plik z wersji 1.1A/5.5/x.x by Ktośtam” – to też bardzo skutecznie tworzy chaos w plikach.
No, ale przejdźmy do właściwej części wpisu:
Co my tu mamy? Bezmyślne dołączanie 78 plików za każdym wywołaniem strony. Nawet gdy się logujemy, rejestrujemy, oglądamy podstronę kontakt itd. silnik ładuje 78 plików potrzebnych tylko w grze.
Pierwszą rzeczą jaka rzuciła mi się w oczy poza genialnym układem kodu był fakt, że przy każdym zapytaniu jest dołączany config.php. No ktoś tam nie ma mózgu… nie można po prostu dołączyć go w common.php? Tak samo ewentualne łączenie powinno się odbywać nie funkcji wykonującej zapytania tylko tam.
Powyższy skrypt jest bardzo wymownym przykładem na to jak nie powinno się tworzyć jakichkolwiek aplikacji. Zero organizacji pracy i początkowych założeń daje właśnie takie efekty. Można tylko współczuć ludziom którzy z wielkim zapałem chcą zrobić „super wypasionom grem na xNovie” nie zaglądając nawet do „jej wnętrza”.
12 lut
Dzisiejszy artykuł chciałbym poświęcić stronie, która w pewnym obszarze zdominowała internet, a także życie realne niektórych osób. Mowa oczywiście o Facebooku – serwisie społecznościowym Marka Zuckerberga. Uściślając: skupię się na tym, na ile różnych sposobów Facebook zapewnia sobie generowanie ogromnych ilości treści (ang. content) przez każdego z użytkowników.
Kwestią podstawową jest oczywiście efekt kuli śnieżnej/wirusowego rozprzestrzeniania informacji czy jak tam kto jeszcze zechce go nazwać. Sprawa jest prosta, pokażę o co chodzi na najprostszym przykładzie. Osoba A właśnie polubiła stronę „Placki”. Informacja o tym natychmiast pojawia się na jej tablicy, czyli sercu każdego profilu na Facebooku. Oprócz tego, że informacja o polubieniu witryny pojawiła się na jej tablicy, to informacja ta pojawia się w specjalnym boxie umieszczonym nad czatem, gdzie możemy prawie w czasie rzeczywistym śledzić wszystkie poczynania wszystkich naszych znajomych (dodanie kogoś do znajomych, polubienie komentarza/zdjęcia/strony, udostępnienie materiału, odpisanie na komentarz i tak dalej… Wszystko co tylko się da).
Jeszcze lepiej sprawa wygląda w przypadku udostępnienia jakiegoś materiału na swojej tablicy. Wiele stron na Facebooku jest zrobionych w następujący sposób. Intrygujący tytuł – np. „10 najładniejszych dziewczyn w Polsce”. Aby obejrzeć treść strony musimy ją polubić oraz udostępnić ją na swojej tablicy.
Tak więc przy każdym użytkowniku mamy dwa zdarzenia: polubienie strony, a więc informacja nad chatem (i na tablicy lubiącego) oraz jej udostępnienie, które łączy się z pokazaniem informacji o tym nie tylko na tablicy udostępniającego, ale także w zakładce Aktualności każdego z jego znajomych. Oczywiście zachęca to tylko kolejne osoby do udostępnienia i polubienia danej strony. Jeśli któraś z nich to zrobi, to jednocześnie dowiaduje się o tym jej powiedzmy 100 znajomych. I mamy typowy efekt kuli śnieżnej.
Rzecz jasna zdarzenia udostępnienia strony możemy skomentować, a każdy z komentarzy (swój także) możemy polubić. Informacje o tym natychmiast pojawią się w tak zwanych powiadomieniach, które są bardzo łatwo dostępne z każdej podstrony Facebooka.
Powiadomienia to bardzo istotny element omawianej machiny. Domyślnie są one wyświetlane nie tylko na stronie, o części rzeczy jesteśmy informowani także emailami. Ponadto przy nowym powiadomieniu na stronie, dynamicznie zmienia się jej tytuł na pasku kart. Z „Facebook”, na „(x) Facebook”, gdzie x odpowiada liczbie nieprzeczytanych powiadomień. Wykorzystywane są praktycznie wszystkie drogi dotarcia z informacją do użytkownika. Dostępna jest też rzecz jasna opcja otrzymywania powiadomień poprzez SMS więc odpada problem braku włączonego komputera oraz aplikacji do obsługi FB na telefonie. Możemy też zasubskrybować powiadomienia z Facebooka jako zwyczajny kanał RSS.
Kolejnym sposobem na wygenerowania jeszcze większego ruchu a przy tym i treści jest to, że przy każdym odświeżeniu jakiejś podstrony Facebooka, w specjalnie wyznaczonym miejscu po prawej stronie mamy wybrane 5 stron, które lubią nasi znajomi. Po polubieniu którejś z nich natychmiast jest ona zastępowana kolejną propozycją strony do polubienia. Strony na Facebooku są zakładane dla: witryn internetowych, artystów, społeczności (np. popularna w ostatnich dniach „Nie dla ACTA w Polsce”), polityków, gwiazd, miast, miejsc i praktycznie wszystkiego co tylko możliwe. W związku z tym ich ilości nie trzeba nawet tłumaczyć, zawsze będzie nowa strona, którą akurat polubił któryś ze znajomych użytkownika, a więc jeśli choćby pięciu z jego znajomych też ją polubi, to informacja o tym dociera do wszystkich ich znajomych. Zakładając, że średnia liczba znajomych wynosi po około stu na osobę (a nie ma w tym żadnej przesady, przynajmniej nie w górę), to informacja o tym fakcie dociera od razu do pięciuset osób. Trzeba tutaj wziąć oczywiście poprawkę na wspólnych znajomych, tak więc ilość osób lekko się zmniejsza.
Następnym elementem tej machiny są aplikacje, które można tworzyć w obrębie Facebooka. Część z nich jest faktycznie przydatna, ale wiele to coś w stylu „wyślij czekoladkę Twojemu bliskiemu”. Całkowicie bez sensu, ale w tym momencie mamy od razu wpis na tablicy osoby A („A podarowała czekoladki B. Podaruj czekoladki komuś innemu!!!”) oraz na tablicy osoby B („B dostała czekoladki od A. Odwdzięcz się.” Właśnie w ten sposób działa duża część aplikacji, zachęta do jak najszerszego ich używania. Przy tej okazji można też wspomnieć o aplikacji, która co jakiś czas zamieszcza automatycznie na tablicy użytkownika wpis „XYZ is 0-100 percent happy Today”. Zero przydatności, no ale zawsze to można poszpanować czymś na tablicy. Naprawdę nie rozumiem po co ludzie tego używają.
To tylko część z aspektów budowy Facebooka, w celu uzyskania jak największego ruchu i jak najdłuższego zatrzymania użytkownika na stronie. O marketingu na Facebooku, który dość ściśle wiąże się z tym tematem (większy ruch == większy zysk) można by napisać naprawdę wiele książek, i z pewnością wiele ich jeszcze powstanie.
Jako ciekawostka: licząc powyższy artykuł, dorobiłem się już stu wpisów na sobak.pl
10 lut
Z powodu dzisiejszego niemyślenia w wyjątkowo silnej postaci, postanowiłem wybrać sobie (tak dla odmiany
) temat mniej techniczny. Mianowicie, aby nie pozostać w tyle, stwierdziłem, że i Sobak będzie cool i napisze coś o ACTA.
Jaki jest mój stosunek do ACTA? Jakby to kogoś obchodziło, to jestem zdecydowanie przeciwny wprowadzaniu rozwiązań w tej formie, jeśli nie obchodzi to proszę wcisnąć ctrl+w i mieć święty spokój
Przede wszystkim sądzę, że takie przepisy powinno wprowadzać się na szczeblu prawa krajowego czyli jako zwykłe nowelizacje istniejących ustaw. Wprowadzanie tego na poziomie umowy międzynarodowej momentalnie powoduje to, że każde z państw biorących udział przy tworzeniu i wprowadzaniu tej umowy będzie chciało zagarnąć część korzyści dla siebie. Z tego nie może wyjść nic dobrego.
Drugą sprawą jest sposób wprowadzenia ACTA. Informacja o tym wyciekła na 43 stronie komunikatu prasowego na temat rolnictwa i rybołówstwa. Jawna kpina ze wszystkich obywateli państw sygnujących umowę i tyle.
Następna sprawa jaką chciałem poruszyć to temat, zdaniem wielu, szczeniackich ataków na strony gov. Szczeniackie czy nie, uważam, że przyniosły w rezultacie bardzo dobry efekt. Stanowiły idealny materiał dla żądnych sensacji mediów mainstreamowych. Co dałoby kilkaset merytorycznych apeli? Nic, wszystkie przeszłyby bez echa. Sądzę, że kilka nawet tak prostackich akcji było konieczne aby zwrócić uwagę mediów, które kreują opinię większości społeczeństwa.
Sprawa któraś z kolei – „zawieszenie ratyfikacji” przez Premiera. Dlaczego w cudzysłowie? Ano dlatego, że nie ma z punktu prawnego czegoś takiego jak „zawieszenie ratyfikacji umowy międzynarodowej”, więc po raz kolejny mamy do czynienia ze zwykłym zabiegiem który ma uspokoić wzburzone emocje. W końcu w Polsce odbyły się dziesiątki manifestacji ulicznych, w których łącznie wzięło udział kilkaset tys. ludzi.
Możliwości prawnego zablokowania ratyfikacji ACTA istnieją. Chodzi mi o ostatnio poruszany temat referendum ogólnokrajowego w tej sprawie. Cytując za artykułem 70 ustawy o referendum ogólnokrajowym, ustępem pierwszym:
O wyborze trybu wyrażenia zgody na ratyfikację umowy międzynarodowej w drodze referendum decyduje Sejm, uchwałą podjętą bezwzględną większością głosów w obecności co najmniej połowy ustawowej liczby posłów.
Czyli pierwszą przeszkodą jest konieczność uzyskania większości bezwzględnej w Sejmie, aby w ogóle móc zorganizować referendum w tej sprawie. Ponadto jeśli frekwencja referendum wyniesie poniżej 50%, to referendum nie ma głosu decydującego, a jedynie doradczy (wszyscy myślący wiedzą jak zostanie potraktowany taki głos). 50% frekwencji przy referendum to bardzo optymistyczne założenie. Skoro przy wyborach, które są niesamowicie mocno nagłaśniane gdzie tylko się da frekwencja jest niewiele wyższa, to łatwo nie będzie. Warto mieć na uwadze, że naprawdę duża część ludzi, która wyszła na ulice, to byli ludzie poniżej 18 roku życia, a oni w referendum brać udziału nie mogą. Trzeba by uświadomić ludziom, że ACTA nie dotyczy tylko internetu (a tak niestety myśli większość), że po jej wprowadzeniu nie mogliby dostać tańszych części zamiennych do samochodu czy tańszych zamienników przyjmowanych leków.
Podnoszony przez rząd argument, który mówił, że Polska podpisała ACTA, aby nie być postrzegana jako kraj popierający piractwo właśnie upadł
Niemcy właśnie wycofały się z zamiaru podpisania umowy. Jak widać są kraje, które dbają o własne interesy i wszyscy widzimy, że lepiej na tym wychodzą.
Jeśli chodzi o spotkanie Premiera z obiema stronami konfliktu ws. ACTA. Sam sposób jego organizacji był przygotowany tak, aby zjawiło się na nim jak najmniej chętnych. Zaproszenia na poniedziałkowe spotkanie zostało rozesłane w piątek, po godzinach pracy, świetne wyczucie. Przez to naprawdę wielu bloggerów i innych zaproszonych osób nie udało się na spotkanie (choćby Niebezpiecznik czy Kominek, a rząd zyskał genialny argument: podnosili tyle szumu w proteście, a nie chcieli przyjść porozmawiać na spokojnie. Bardzo zgrabne posunięcie
Cała sprawa ACTA, zdaje się przelała czarę goryczy u wielu ludzi napełniającą się już od dłuższego czasu. Mimo tego z perspektywy czasu (którą specjalnie chciałem mieć do dyspozycji podczas pisania tego wywodu) widać, że szum medialny powoli cichnie, zwłaszcza w mainstreamowych mediach, a cała sprawa pewnie skończy się na ratyfikacji umowy…