Ondřej Žára

About

portrait

JavaScript developer, living in Prague, Czech Republic. Currently employed by Seznam.cz.

Interested in my résumé? Try the GitHub version as well.

Games

Name Description Technologies Source
Goldfish My 7DRL 2014 (7-day roguelike contest) game. Playable, winnable, losable. Features colorful and aesthetic maps, aquatic fauna and fishermen! rot.js GitHub
Custom Tetris My take on the GitHub Game Off 2013 contest. Modular Tetris game that offers configurable sides and multiplayer. Firebase GitHub
The Conception My 7DRL 2013 (7-day roguelike contest) game. Contains hexagons. And chlamydia. And much more. rot.js GitHub
The Royal Wedding Another coffebreak roguelike – with story, lighting, zombies and (sometimes) lutefisk! rot.js GitHub
Star Wars Miniature My take on the GitHub Game Off 2012 contest. rot.js GitHub
RailRL Small testbed game: hexes, trains, procedurally generated terrain. rot.js GitHub
Drago HTML5 remake of an old game by Blue Byte Software. Fully playable with cool graphics, animations, sounds and music! HAF GitHub
CSS Blockout 3D Tetris (Blockout) implemented using CSS 3D transforms. Submitted as a demo to Mozilla Dev Derby. Works correctly only in certain Browser/OS/HW combinations. CSS 3D GitHub
Rubik's cube Rubik's cube implemented using CSS 3D transforms. Submitted as a demo to Mozilla Dev Derby. Works correctly only in certain Browser/OS/HW combinations. CSS 3D
Clickmania JS port of a well-known time-killer. GitHub
Just Spaceships! Space shooter game: canvas, sounds effects, animated sprites, AI, websocket-based multiplayer! A presentation documenting the development process is available for online viewing. HAF, WebSockets, TeaJS GitHub
Atoms Traditional "atoms" game, well-known from Windows 3.1. Up to four players; local play with bots, multiplayer using WebSockets. WebSockets, TeaJS GitHub
Geometry Wars Multiplayer-only game, implemented using WebSockets. Score by drawing longest line; block enemies by placing circles. WebSockets, TeaJS GitHub
Brain Defense Zombies & lasers. What could go wrong? (Non-obsolete browser required.) HAF GitHub
Rogue Zombies Coffeebreak roguelike game. Warning: they will get you. Google Code GitHub
js-like JavaScript roguelike, heavily inspired by ADOM. Google Code GitHub

Projects

Name Description Technologies Source
My Mind Online Mindmap editor, featuring variable layouts, (computed) values, storage to Firebase/GDrive and much more. Firebase GitHub
ie8eventtarget EventTarget polyfill for IE8, with complete capture support, MouseEvent and CustomEvent. GitHub
promise.js A tiny browser-based implementation of the "Promises/A+" spec. Passes all tests (using a tiny mocha2jasmine adapter). GitHub
JS Style Badge Create your own JS signature, based on your coding preferences. GitHub
rot.js ROguelike Toolkit, written in JavaScript. Cool dungeon-related stuff, interactive manual, documentation, tests! GitHub
HAF HTML5 Animation Framework is used to orchestrate complex canvas-based rendering projects, such as Brain Defense or Just Spaceships. It can be also used to perform several benchmarks and generally experiment with HTML canvas. Google Code GitHub
TeaJS Multi-purpose wrapper around V8 JS engine. Rich set of libraries included, including DB access, POSIX + Web Sockets, Apache module, … V8, C++ Google Code GitHub
Slides Yet another HTML/JS presentation system. Google Code GitHub
WWW SQL Designer Online tool for designing relational database schemas. Features schema saving, exporting to xml and sql script creation. Google Code GitHub
Gallery Personal photogallery.
Cookbook Written in PHP, uses MySQL database backend. Contains over 250 recipes. Google Code GitHub
oz.php Tiny PHP framework for rapid application development. Google Code GitHub
oz.js Tiny but smart JS assistance for advanced coders. Google Code GitHub
SZ Showcase A selection of photos taken in Sluneční zátoka.
Sluneční zátoka Photos from traditional children summer camp with long history and unique atmosphere. Years 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, and 2013.
Fire Commander Traditional two-pane file manager, implemented as Firefox extension / XUL application. Google Code GitHub
Syntax Tiny syntax highlighter. Google Code GitHub

Demos & Experiments

Name Description Technologies Source
Photo Editor Basic photo adjustments using Web Workers. No server-side necessary. Load, adjust, crop, save, profit :-) Submitted as a demo to Mozilla DevDerby. Web Workers GitHub
Hash Bruteforcer Computes MD5 and SHA1 hashes using Web Workers. Submitted as a demo to Mozilla DevDerby. Web Workers GitHub
Pure CSS slides A non-JavaScript experiment: fully featured presentation system, using only HTML + CSS. No JS
Collaborative Draw WebSockets used to share drawing area. Support for lines, text and images. WebSockets, TeaJS GitHub
Canvas Audio Fireworks Regular fireworks mixed with HTML5 Audio API Extension. Audio API
Harmoniums of Mercury Semi-interactive homage to Kurt Vonnegut. GitHub
Space-filling curves Recursive implementation of Peano/Hilbert curves, using canvas transformations.
a-g-e Adventure Game Engine, suitable for playing interactive gamebooks. Google Code GitHub
Coral generator Based on certain Game of Life rules; requires Web Workers. Web Workers GitHub
Worms Canvas-based worm simulation.
Canvas-based e-mail hash Visualizing e-mail addresses using various algorithms.
Canvas fireworks JavaScript fireworks using elementary mechanics, <canvas> and <audio> tags.
Compression benchmarks Trying to compress JSON with algorithms implemented in JS.
Canvas maze Produces a perfect maze and finds the path between two corners. In perfect maze, every two cells are connected with exactly one path.
Web Worker Fractals Interactive fractal drawer. Uses <canvas> and Web Workers (processing in multiple threads). Both Julia and Mandelbrot sets are supported. Submitted as a demo to Mozilla DevDerby. Web Workers GitHub
Derivation Captcha An accessibility experiment. PHP
HEX Creates SVG maps for "Expres" game (Dampfross, Railway Rivals).
Sun Interactive SVG Sun, logo for Sluneční zátoka.
Sudoku solver I wrote three Sudoku solvers. This one is fastest, featuring some optimizations in addition to brute force.
RSS AJAX & MySQL RSS reader, public domain. Download

Talks

Presentation Year Language
Méně známé JS tipy a triky 2014 Czech
WebSocket: Provařené i méně známé partie 2013 Czech
HMTL5 a Roguelike hry 2013 Czech
JS knihovny a další balast v roce 2013 2013 Czech
Mapy API známé i neznámé 2013 Czech
Lopaty, krumpáče a kladiva 2013 Czech
JIT Compilation 2013 Czech
JS Promises 2013 Czech
Cross-browser v roce 2013 (Barcamp Praha 2013) 2013 Czech
Předmět "Tvorba klientských aplikací v JavaScriptu" na FEL ČVUT 2013 Czech
Souřadnice, projekce a šikmé snímky 2013 Czech
HTML5 a CSS3 v praxi 2012 Czech
Distribuované verzovací systémy a Git 2012 Czech
Den s vývojáři – komplexní JS aplikace 2012 Czech
Just Spaceships! – development notes 2012 English, Czech
My job at Seznam.cz 2011 Czech
Mapy.cz API 2011 Czech
JavaScript & Seznam.cz 2010 Czech
Advanced JavaScript topics 2010 Czech
JavaScript introduction ? Czech
HTML5 for Web Designers 2011 Czech
HTML5 (compressed into one talk) 2012 Czech
HTML5 (set of four talks) 2011 Czech
AJAX 2011 Czech

Writings

Name Description
JSConf.eu 2013 List of talks, slides, youtube links.
Začínáme s WebGL A series of a WebGL-related introductory articles.
JS MVC My critical opinions regarding JS MVC frameworks. Written in Czech language.
Rums Various rums I tasted, categorized and rated.
Comics Well-organized online comics I read.
Android games List of Android games I played (+ their rating).
Plain JS What can you do in plain JavaScript?
JSConf.eu 2012 List of talks, slides, youtube links.

Old stuff

Name Description
Sluneční zátoka – přihlášky Website created to simplify the process of registering and administering attendees of Sluneční zátoka.
Dungeon-related algorithms Maze generation, FOV computation, turn scheduling.
Wild West Browser-based arena for simple but interesting fights of JavaScript AIs, based on a child's play.
Fallout 3 hack tool An attempt to simplify the Fallout 3 hacking process.
WWW SQL Designer 1.x Old version of a popular tool.
PHP Templates Original and lightweight (10kB), but powerful templating engine. Used in various websites. Current version: 2.3. Obsoleted by oz.php.
RSS Favorites Instead of complicated RSS readers, I used this page to keep myself informed. Both RSS and parsed HTML pages are supported.
Showcase Some fine photos taken with my old and crappy Fujifilm FinePix S5000.
OAT Gallery Open source PHP/JS-based complete personal photogallery solution. Created with OpenLink Ajax Toolkit, with map and timeline.
OAT JavaScript/AJAX toolkit for advanced web development. Has some unique features ;)