Java Pathfinder Inspector

Přes léto 2016 jsem se účastnil programu Google Summer of Code, během nějž jsem aktualizoval a značně vylepšil aplikaci zvanou Java Pathfinder Inspector.

Java Pathfinder (JPF) is framework pro formální kontrolu programů napsaných v Javě. Jeho jádro sestává z virtuálního stroje pro bajtkód, který sám běží v Javě; to umožní, aby JPF instrumentoval kód a nahradil kritické instrukce svými vlastními variantami. JPF je velmi rozšiřitelný a existuje mnoh modulů pro různé druhy verifikace jako například modul pro symbolickou exekuci. JPF Inspector je jedním takovým modulem a soustředí se na možnost ladění.

JPF Inspector je nástroj pro pozorování a kontrolu běhu programu spuštěného na virtuálním stroji Java Pathfinder. Podporuje breakpoiny, krokování (dopředu i dozadu), a to na několika úrovních granularity, a umožňuje uživateli pozastavit program a prozkoumat jeho současný stav (vlákna, zásobníky, proměnné, objekty na haldě). Oproti standartním debuggerům jako GDB také umožňuje explicitní plánování vláken.

Toto je první softwarový projekt, za který jsem dostal skutečné peníze.

Je naprogramovaný v Javě.

Na tomto projektu jsem pracoval ve věku 23 let, v roce 2016.

Čtěte více

Oracion Online

Oracion Online je online sběratelská karetní hra v češtině, pro jednoho až dva hráče, kterou jsem vytvořil jako zápočtový projekt v létě 2016.

Hru Oracion, v papírové podobě, jsem vymyslel v roce 2009 pro svůj skautský oddíl, a v letech 2009-2011 jsem ji používal ve své družině vlčat jako motivační prvek.

Oracion je jednoduchá karetní hra, ve které v každém kole každý hráč vyloží bytost, přiloží nástroje nebo použije zvláštní akce, a pak hodí kostkami, jejichž počet a druh je ovlivněn kartami. Hráč, který hodil více, „porazil“ soupeřovu bytost. Hráč, který jako první porazí čtyři soupeřovy bytosti, vyhrál hru.

Čtěte více

RFC: Protokol pro navázání/ukončení běžného hovoru

Abstrakt: Mnozí občas rádi mluví s ostatními lidmi přes internetové komunikátory o svých životech, zprávách ze světa, společných zájmech a dalších tématech, aniž by jim chtěli sdělit nějakou podstatnou informaci nebo je o něco požádat (tomuto budeme říkat „běžné hovory“). Ovšem může být těžké zjistit, jak moc se druhému účastníkovi dialogu chce povídat nebo kdy by chtěl hovor ukončit, protože narazíme na problémy se zdvořilostí. Proto navrhujeme nový protokol pro běžné hovory, který by mohl účastníkům ušetřit čas a vést hovory právě tak dlouho, jak by oba optimálně chtěli.

Čtěte více

World Romantic Relationships Authority

Sylvia was living in an unsanctioned relationship.

It wasn’t the fact that she was dating a girl that was bothering the World Romantic Relationships Authority. No, same-sex relationships had been sanctioned decades ago and were commonplace. The problem was that Sylvia was also dating a boy.

This was not a problem in itself. The WRRA could be more aptly named the World Romantic Relationship Advisory – it didn’t make laws, it offered recommendations. But even though it wasn’t illegal not to follow the WRRA’s guidance, it still felt wrong somehow and Sylvia couldn’t wait to be back in full compliance with the Authority’s recommendations.

 

 

Čtěte více

The Deadlock Empire

The Deadlock Empire je logická programovací hra, kterou jsem vytvořil v týmu s Michalem Pokorným pro hackathon Hack Cambridge v roce 2016.

V této hře hráč zaujme roli počítačového plánovače. V každé úrovni hráč dostane dvě nebo tři vlákna počítačového programu napsaného v C#. Pak musí program krokovat a provádět přepnutí kontextu, jak uzná za vhodné, aby prokázal, že program obsahuje chyby ve svém kódu.

Hráč například může nasimulovat pořadí vykonání takové, že dvě vlákna vstoupí do kritické sekce najednou nebo hráč může způsobit deadlock.

Hra na hackathonu vyhrála první místo. Kromě toho jsme vyhráli dvě dodatečné ceny – cenu Improbable za „nejlepší gaming/VR hack“ a cenu Bloomberg za „nejzajímavější projekt“.

Hra je naprogramovaná v Javascriptu.

Hru jsme vytvořili ve věku 23 let, v roce 2016.

Hrát online:

Vlastnosti:

  • Nauč se paralelní programování hraním hry.
  • Příběhová kampaň – usmrť draky, nauč se paralelismus!
  • Přes 15 levelů
  • Přes 6 synchronizačních primitiv

Stáhnout zdrojový kód:

Skauting by měl znát svoje principy.

V prosincovém čísle časopisu Skautský svět je esej od Mukókiho, vůdce ILŠ Collegium, zvaná „Tři základní principy skautingu a chvála nedefinovanosti“, ve kterém říká, že nejen povinnost k Bohu, ale i ostatní dva principy jsou málo definované, ale že tato nedefinovanost principů je dobrá věc, kterou bychom neměli měnit. Tento článek je reakcí na Mukókiho esej, ve které se snažím ukázat na chyby v jeho argumentaci a proč bychom stejně měli definovat, co myslíme povinností k Bohu.

Čtěte více

Fluttershy’s Hearthswarming Adventure

Fluttershy’s Hearthswarming Adventure is a text adventure game created for the Christmas of 2015. This is a fan game.

This is my second Windows parser-based interactive fiction. This means that there are no graphics to speak of – that takes place in your imagination. Instead, surroundings and events are described and you interact with the world by typing commands. But do not worry: It is not as difficult as old school games are. There is a suggestion system that will help find the commands you need and the game is set up in a way that you cannot truly lose.

The story itself is about the journey of Fluttershy to the depths of the Everfree in search of a magical artifact known as the Emotion Orb. She encounters animals, other ponies, obstacles and puzzles along the way. And in the end, it will be up to her to decide whether, and how, to change the Hearth’s Warming Eve festival for everypony, and for all time.

Remember that you are supposed to use a combination of the suggestion system and command typing. Usually, typing three letters of a word should be enough to eliminate most unwanted possibilities and then you use arrow keys and Enter to choose.

It is programmed in C# using the XNA framework.

I created the game at the age of 23, in 2015.

 

Download (Setup EXE, 8 MB):

Features:

  • Old-school text adventure
  • A cute heart-warming story
  • Hints of usable commands
  • Interaction with canon storyline
  • Affect the Hearth’s Warming Eve festival forever