Projekty programistyczne

2014/2015

  1. Sieciowa gra MUD. Do serwera łączą się klienci GUI lub TUI. Na plus rysowanie mapy i edycja własnych pokoi, inteligentny engine fabuł.
  2. Program wykonujący komendę na X komputerach równolegle, topologia płaska oraz drzewiasta.
  3. Stupid TOR. Komputery komunikują się w sieci, która za każdym razem wybiera losowo trasę.
  4. Dowolna usługa zgodna z RFC.
  5. Usługa typu Dropbox. Klient ma listę serwerów, łączy się do jednego z nich i posyła plik. Serwer potem plik replikuje do innych serwerów.
  6. Rozproszony system plików, dostep do pliku utrwala go, starsze pliki znikają (zgodnie z rozkładem wykładniczym lub inną miarą).
  7. Pseudo-TCP na UDP. Zaprojektowanie własnego protokołu połączeniowego na UDP, kanały niezawodne FIFO.
  8. Serwer memcached. Klient prosi o cos serwer, serwer oddaje z cache jak ma, jesli nie ma zapisuje i oddaje.
  9. Edytor tekstu dla X osob w konsoli. Użytkownicy łączą sie do sesji, kazdy widzi ruchy innego i edycję. Jak w google docs.
  10. System monitorowania. Klient łączy się, dodaje hosta, widzi inne hosty (czy działają). Serwer monitoruje pingiem.
  11. Sieć aktywna. Pakiet przechodzi przez N węzłów, gdy reguła dopasuje sie do IP hosta, wykonywany jest kod przenoszony przez pakiet na danym hoście. *
  12. Map-reduce dla wybranego problemu.
  13. Steganograficzny komunikator internetowy, wiadomośc w nagłowkach zdjecia lub sprytnie w tekście.
  14. Równoważenie obciążeń na X węzłach. Klient wysyła job (np. skrypt pythona, exec itd) i przydziela do serwera, który najmniej jest zajęty. Należy wymyślić miarę potencjaly serwera i jego obciążenia. oraz zwizualiwać aktywne joby.
  15. Sieciowa gra zuzel dla 2 osob.
  16. Rozproszony twitter.
  17. Resource SQL. Klient ma listę hostów, przyjmuje kwerendy o zasoby. np. select * from hosts where ram > 2G. Serwery zwracają te które spełniają warunek. select * from hosts where process:apache:running; select * from hosts where disk(“/”):free > 20048783; exec ls on hosts where ram < 1G;