TechLife devBlog

# Internet

Little War Game - RTS by JS

Internet 8 marca 2016 23:27

Little War Game - screen 1

Little War Game to bardzo grywalna strategia czasu rzeczywistego przypominająca trochę średniowiecznego StarCrafta. Gra jest w pełni darmowa i zarazem wieloplatformowa, ponieważ działa w przeglądarce w całości napędzana JavaScriptem (zero Javy, zero Flasha).

Little War Game - screen 2

Co ciekawe za całą mechanikę gry (nie licząc grafiki i muzyki) odpowiada jeden programista. A co jeszcze ciekawsze oprócz jQuery i Underscore'a nie używał żadnych frameworków. Cała komunikacja z backendem odbywa się naturalnie po websocketach a na zapleczu siedzi node.js.

Little War Game - screen 3

Little War Game to idealna gra do rozgrywki wieloosobowej, bez problemu możemy zahostować własną grę na jednej z miliona map czy dołączyć się do już istniejącej rozgrywki. Można również zagrać z komputerem, którego inteligencja stoi na całkiem przyzwoitym poziomie.

Little War Game - screen 3

Oczywiście w grze nie brakuje też takich bajerów jak edytor map czy nawet odtwarzanie powtórek a mnogość jednostek i powiązanych z nimi budynków zapewnia całkiem przyjemną rozgrywkę ekonomiczną. Nic tylko odpalić url-a w wolnej chwili i zaprosić kilku znajomych.

A teraz przejdźmy do rzeczy: littlewargame.com

11 bitów wojny

Internet 17 listopada 2014 19:44

Byłem w weekend na Hall of Games gdzie miałem okazję zobaczyć prelekcję Marka Ziemaka - Wojna, wojna się zmienia. Nawet nagrałem całe wystąpienie, IMHO nie było super porywające ale jak kogoś by interesowało to mogę wrzucić na YouTube. Ale nie o tym...

Dzisiaj 11 bitowcy znaleźli się na ustach gamerów z całego świata a to za sprawą jednego komentarza dodanego na The Pirate Bay.

Komentarz Karola

Czyżby 11 bitowcy zaatakowali pozycję CD Projekt RED, tak cenionych przez gamerów? W każdym razie giełda ich wynagrodziła :-)

3 dni: +61.12%

Warto też zwrócić uwagę na odzew:

komentarz: goldbr

komentarz: Mooe

Ludzie kupili grę nie dlatego, że jest ciekawa (chociaż jest), ale dlatego, że ktoś pozwolił im świadomie wybrać. I takie postawy warto promować.

Przy okazji gameplay:

A teraz przeciwwaga, jak to się robi w ministerstwie: Ripowanie na własny użytek powoduje straty - oto stanowisko ministerstwa! AWI

Mój kraj jest taki piękny

Dziękuję, dobranoc.

[CSS] Pionowo czy poziomo?

Internet, Kodowanie, Techblog 25 listopada 2011 23:51

Nie będzie to flame, chciałem przedstawić Wam tylko mój punk widzenia. Do chwili zatrudnienia się w Firmie byłem święcie przekonany, że jedynym słusznym formatowaniem jest formatowanie pionowe, gdzie elegancko mamy podane jak na tacy wszystkie atrybuty.

poziomo

W Firmie przyszedł czas bardzo intensywnego kodowania. Często pracowałem z dużymi arkuszami stylów, których ciągłe przewijanie stawało się bardzo niewygodne. Nierzadko trzeba było też wrócić do poprzednich projektów i szybko poprawić jakieś drobne niedociągnięcia. Dopiero wtedy uświadomiłem sobie, że w CSS-ie jest coś ważniejszego niż atrybuty i ich wartości. Najważniejszą rzeczą są selektory! Dopiero zrozumienie tej kwestii pozwoliło mi inaczej spojrzeć na elegancję poziomego formatowania.

poziomo

Rzeczą oczywistą jest to, że najpierw wyszukujemy obiekt, który chcemy zmodyfikować a następnie dodajemy mu kolor tła czy zmieniamy margines. Priorytetem jest więc szybkie odnajdywanie selektorów a później dopisanie czy odnalezienie potrzebnego atrybutu jest już dość proste, mimo że wszystkie atrybuty są w jednej linii. IMHO o wiele więcej czasu zajmuje znalezienie odpowiedniego selektora w rozciągniętym pliku niż odpowiedniego atrybutu w liniowym zapisie.

Aby jeszcze bardziej ułatwić sobie sprawę należy trzymać się prostej zasady: najpierw definiujemy box model: display, width, height, float, margin, padding (najlepiej zachować taką kolejność) a później całą resztę (position, background, color, font-size itp). Trzymając się tej zasady od razu wiemy czy szukamy atrybutu z końca czy początku linii.

Jeszcze raz poglądowo. Formatowanie pionowe - mało widać, dużo szukania

pionowo

Formatowanie poziome - szybkie odnajdywanie selektorów i (trzymając się zasady) w miarę szybkie odnajdywanie atrybutów.

poziomo

Strony firmowe w Google Plus

Internet 8 listopada 2011 20:59

Dzisiaj logując się na G+ zauważyłem, że zmieniła się favikona (sic!). Googlowcy nigdy nie robią drobnych zmian, więc wiedziałem już że coś dodali. Okazało się, że pojawiła się opcja zakładania kont firmowych, czyli odpowiedników Facebookowych fanpage'y.

Jak widać wygląda dość ładnie. Szkoda tylko, że w większości sprowadzało się to do skopiowania danych z Facebooka w dodatku w dość okrojonej formie. Nie można "urządzić" strony po swojemu, instalując różne grafiki czy dodatkowe aplikacje tak jak ma to miejsce na Facebooku. Dobre kilka minut szukałem też opcji przekazania innym osobom praw administracyjnym do strony, jednak jak się ostatecznie okazało taka funkcjonalność jeszcze nie istnieje...

Na reklamie oczywiście prezentuje się sweetaśnie.

Estetyka i prostota Google Plus (swoją drogą bezczelnie zerżnięta z Diaspory) wygrywają dla mnie z wyglądem Facebooka, ale uproszczona funkcjonalność już nie. Cały czas nie bardzo mogę pojąć jak się mają kręgi (G+) do grup (F). Kręgi nijak nie spełniają funkcji grup. Nie istnieje przecież pojedyncza grupa fanów np. Django, do której by można się zapisać i podyskutować, ponieważ każdy ma inny krąg znajomych.

Poza tym korzystając z G+ jako firma widzimy strumień wiadomości ludzi, których nasza firma ma w kręgu znajomych... WTF? Jak to się ma do Facebookowego firmowego Wall gdzie umieszczane są tylko wiadomości, które ktoś skierował bezpośrednio do naszej firmy?

Google, siadaj: dostateczny.

GIODO a serwis internetowy

Internet, Techblog 22 września 2010 23:02

Notka poświęcona osobom, które chcą stworzyć serwis internetowy zgodny z wytycznymi GIODO. Uwaga, dla osób postronnych notka może objawić się jako absurdalny bełkot.

Jak stworzyć serwis internetowy, na którym GIODO-mucha nie siada? Nie mam pojęcia! Ale mam nadzieję, że razem uda nam się coś wypracować. Aby przejść podstawowy tutorial absurdu należy zapoznać się z 8 minutowym filmem, stworzonym przez lookr.tv, na którym Generalny Inspektor Ochrony Danych Osobowych, niczym profesor Miodek odpowiada na pytania zatroskanych internautów:

[...] no ja takiego problemu proszę Państwa nie mam, dlatego że wiem, że definicja dotycząca tego co jest daną osobową jest definicją otwarta [...] dlatego każdy przypadek należy dokładnie analizować, czy informacja jest daną osobową czy też nie.

Mnie również cieszy, że wszystkie kwestie zostały już dogłębnie wyjaśnione. W końcu od tego jest ten Pan, od tego on jest, od tego jest on.

[...] tak rzeczywiście, zgadza się, informacje które wymagają dużego nakładu czasu i pracy nie uważa się za dane osobowe, aczkolwiek należy zawsze pamiętać o tym, że dla mnie jakieś informacje mogą powodować, że będę musiał użyć dużego nakładu czasu i pracy, natomiast dla kogo innego to będzie bardzo proste aby powiązać te informacje z konkretną osobą i o tym proszę zawsze pamiętać.

Wiec jeżeli konkurs ortograficzny wygra Gniewomir z Kozich piętek, a mieszkańcy Kozich piętek będą doskonale wiedzieli, że w ich miejscowości mieszka tylko jeden Gniewomir to z ich punktu widzenia będzie to oczywista publikacja danych osobowych. Zły przykład? Więc weźmy numer IP Gniewomira. Dla większości ludzi na świecie będzie to nic nie mówiący numer, ale nie dla ISP-a z Kozich piętek, który dostarcza internet całym 3 osobom. Bez większych trudności ustali kto kiedy korzystał z danego IP-ka.

[...] rzeczywiście my stwierdzamy, że co do zasady IP komputera jest daną osobową, ale są wyjątki, które powodują, że w pewnych momentach nie można uznać IP komputera za dane osobowe [...]

Tutaj mamy w działaniu zasadę łaskawego wykluczenia, czyli na wszelki wypadek wszystkie numery IP trzeba traktować jako dane osobowe, ale dzięki łasce naszego prawa będziemy mogli zignorować 5 adresów IP, co do których jesteśmy pewni, że nie są to dane osobowe. Oczywiście pozwoli to oczywiście na znaczne oszczędności w nakładach na ochronę danych osobowych.

Mało Wam jeszcze? Nie ma problemu - temat rzeka.

Zajrzyjmy np. w ten zakamarek strony GIODO. Można tutaj wyłowić takie coś:

dostawcy usług internetowych oraz menedżerowie lokalnych sieci mogą, stosując rozsądne środki, zidentyfikować użytkowników internetu, którym przypisali adresy ip ponieważ systematycznie zapisują w plikach daty, czas trwania oraz dynamiczny adres IP (czyli ulegający zmianie po każdym zalogowaniu) przypisany danej osobie. To samo odnosi się do dostawców usług internetowych, którzy prowadzą rejestr (logbook) na serwerze HTTP Nie ma wątpliwości, że w takich przypadkach można mówić o danych osobowych, w rozumieniu art. 2 Dyrektywy

Macie Apache z włączonym logowaniem połączeń? Gratulacje, jesteście szczęśliwymi posiadaczami bazy danych osobowych. Na szczęście podobno logi są zwolnione z obowiązku rejestracji zgodnie z zasadą przetwarzania ich "w zakresie drobnych bieżących spraw życia codziennego". [źródło]

Po więcej można sięgnąć do dokumentu ABC zagrożeń bezpieczeństwa danych osobowych w systemach teleinformatycznych (na samym dole). Z tego dokumentu głoszącego radosną nowinę możemy szybko dowiedzieć się, że również adres e-mail może (ale nie musi (i co że nie musi?!)) być daną osobową. Mój e-mail - tomasz // karbownicki.com - z pewnością można uznać za daną osobową. Natomiast na stronie 24 dowiemy się, że również nick może być daną osobową, bo jeżeli ktoś podpisze się jako "Gniewomir z Kozich piętek" to mamy daną jak w mordę strzelił. Nawet jeżeli ktoś podpiszę się (nick) jako "Adam Kowalski z Opola, ul. Krakowska 907/34" i nie mamy pojęcia czy taka osoba w ogóle istnieje to i tak należy uważać to za daną osobową, do momentu aż będziemy wiedzieli, że taka osoba nie istnieje. Wówczas możemy z czystym sumieniem wykluczyć taką daną z naszego zbioru ściśle chronionych danych osobowych, dzięki czemu oszczędzimy oczywiście góry złota i lata pracy.

Ale wróćmy do budowy serwisu internetowego. Skoro wiemy już, że niemal wszystko co wpisze użytkownik może być daną osobową, możemy przystąpić do projektowania serwisu z uwzględnieniem mechanizmów ochrony danych osobowych. Oczywiście nawet jak użytkownik nic nie wpisze tylko wejdzie na stronę to i tak mamy jego IP w logu Apache'a, wiec za wiele do szczęścia nie trzeba (-;

Na początek musimy mieć serwer posiadający odpowiedni certyfikat, że spełnia on wszystkie wymogi wynikające z przepisów i jest gotowy do przechowywania na nim danych osobowych. Kiedy już znajdziemy taki serwer czas powitać "Wymagania dotyczące struktur baz danych osobowych oraz funkcjonalności zarządzających nimi aplikacji".

Art. 32 ust. 1 pkt. 5 w powiązaniu z §7 ust. 1 pkt. 4 rozporządzenia, stawia w odniesieniu do struktury bazy danych oraz aplikacji zarządzającej zbiorem danych osobowych wymaganie posiadania opcji umożliwiającej rejestrację daty, zakresu i sposobu udostępniania danych odbiorcom (w myśl art. 6 pkt. 7 ustawy), jeśli konieczność takiego udostępnienia wynika z przepisów prawa lub jest przewidziana przez administratora danych.

Jest to jak dla mnie najbardziej niedorzeczna część, która może sprawić, że mechanizmów tych będzie tyle samo co pozostałej części serwisu! Bo jeżeli nick może być daną osobową, to musimy zarejestrować każde udostępnienie komuś nicka. Załóżmy, że mamy widok strony głównej forum, gdzie obok tematów mamy nicki autorów ostatniego posta w wątku.

Forum ArchLinux

Wówczas każde odświeżenie strony wiąże się z koniecznością odnotowania w logu tego, że o godzinie XX:YY panu A zostały udostępnione dane: nick pana B, nick pana C, nick pana D ... Nie wspominając już o bardziej skomplikowanych stronach składających się z różnych elementów, z których każdy może zwierać dane osobowe. Dajmy na to stronę główna joggera.

Jogger - główna

Mamy tam listę najnowszych wpisów wraz z nickami autorów, najpopularniejsze wpisy razem z nickami autorów oraz najczęściej komentowane wpisy razem z nickami autorów. Teraz wyobraźmy sobie, że każdy taki element generuje jednego inserta do loga udostępniania danych osobowych i już mamy 3 inserty do bazy na każde odświeżenie strony (-: Nawet nie myślcie o bardziej skomplikowanych portalach :D Dołóżmy to, że każda zmiana w szablonie, która wprowadza wyświetlenie się np. nicka, e-maila wiąże się z odpowiednią modyfikacją mechanizmu logującego udostępnianie danych. Tym sposobem szybko odechce się każdemu tworzenia nowych widoków.

Na koniec zajrzyjmy jeszcze do "ABC zagrożeń bezpieczeńswtwa ...". Na stronie 85 znajdziemy rozdział "Zabezpieczenie elektronicznych formularzy". Na stronie 86 znajdziemy takie zdanie:

Ponadto transmisja danych między systemem administratora a komputerem rejestrującego się użytkownika powinna być zabezpieczona przy użyciu kryptograficznych środków ochrony danych (np. poprzez zastosowanie protokołu SSL).

O ile dobrze rozumiem to jeżeli przesyłamy do systemu swoje dane osobowe musimy tą transmisję zabezpieczyć np. poprzez SSL. Zestawmy to teraz z innymi danymi osobowymi, którymi jak wiemy mogą być np. adresy e-mail. Czy każdy formularz subskrypcji newslettera musi iść po SSL-u? Czy każdy formularz do napisania komentarza gdzie przesyłamy swój nick (dana osobowa) musi iść po SSL-u?

Chciałem zebrać dzisiaj wszystkie informacje niezbędne do postawienia serwisu zgodnego z GIODO. Niestety poległem :-( Z moich dotychczasowych ustaleń wynika, że nakład pracy potrzebny na ochronę danych osobowych sprawia, że zadanie stanie się niewykonalne. Dlatego będę wdzięczny za wszelkie informacje od Was dotyczące tego tematu. Może ktoś z Was postawił już coś takiego jak serwis zgodny z GIODO lub przynajmniej przeszedł kontrolę i wie co można olać...

PS. Proszę nie komentować tej notki bo formularz nie ma SSL-a a ja nie jestem pewien czy serwerownia Joggera ma odpowiednie certyfikaty ;-)

Strona 1 z 11 | Starsze »