JS, ProcessingJS, kurs symulacji, trochę fizyki i matematyki

Dla chcących spróbowania sił w animacji JavaScript i symulacji natury z wykorzystaniem grawitacji czy przyspieszenia, polecam przerobienie darmowego kursu na khanacademy.org. Nie obejdzie się od przypomnienia podstaw z fizyki i matematyki.
W stosunkowy szybki i przyjemny sposób można poznać bibliotekę ProcessingJS. Kurs nawiązuje do książki „The Nature of CodeDaniela Shiffmana (natureofcode.com).

 

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/

Źródło: https://www.khanacademy.org/ Czytaj dalej

Dwa darmowe źródła wiedzy o Javascript

Jeśli nie wiesz jaka jest różnica między:

To być może warto podszkolić się z Javascriptu 🙂

Czytaj dalej

Idź na całość – paradoks Monty’ego Halla

zonkPod koniec lat dziewięćdziesiątych TV Polsat emitował popularny teleturniej Idź na całość. Główna zasada gry była oparta na paradoksie Monty Halla, a polegała na podjęciu decyzji czy pozostać przy swoim pierwotnym wyborze, czy niewiadomą wymienić na inną.

 

Zagraj ze mną

Poniżej masz do wyboru trzy bramki. Możesz wybrać jedną z nich. Gdy już to zrobisz, ja wskażę w której z nich znajdował się jeden z Zonków. Teraz decyzja należy do Ciebie: zostajesz przy swoim wyborze, czy zmieniasz bramkę. Z pozoru podjęta decyzja wydaje się być bez znaczenia – w końcu zostają dwie bramki więc prawdopodobieństwo wygranej powinno być takie samo. Tak jednak nie jest. Mało tego, jedna z tych dwóch strategi daje dwukrotnie większe prawdopodobieństwo wygrania w stosunku do drugiej.

Spróbuj zagrać kilka razy stosując dwie strategie: pozostając przy swoim pierwszym wyborze oraz zmieniając decyzję po wskazaniu Zonka. Zwróć uwagę jak wygląda prawdopodobieństwo wygrania w zależności od strategii.
Symulację napisałem w Javascript, dlatego ktoś bardziej dociekliwy może wygrać w 100% przypadków. Ale nie o to tu chodzi. Dzięki temu każdy ma możliwość zweryfikowania tego czy program przypadkiem nie oszukuje.

Czytaj dalej

Node.js, Express i Jade, czyli kompletny web czat

Node.js

W poprzednim wpisie został wykonany serwer chatu, jednak klientem była zwykła strona html zapisana na dysku lokalnym. W tym miejscu rozszerzę chat o udostępnienie serwisu http dla klienta.

Biblioteki:

Czytaj dalej

Game of life w javascript

Game of life to jeden z najbardziej znanych przykładów automatu komórkowego wymyślony blisko pół wieku temu.
Dzięki kilku prostym regułom, struktury potrafią ewaluować w zaskakujący sposób.

Reguły:

  • Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się)
  • Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; przy innej liczbie sąsiadów umiera (z „samotności” albo „zatłoczenia”).

Ciekawostka

To własnie jeden z układów game of life stał się symbolem społeczności hakerskiej:
Game of life - glider

Czytaj dalej