Resume

Name:Ivo Danihelka
E-mail:ivo@danihelka.net
Web:http://ivo.danihelka.net

Summary

Programming for 10+ years. Interested in doing the best software. That includes readable code, efficient algorithms and highly usable interfaces.

Technical skills

Languages:
  • Python, Java, JavaScript, C/C++, Lua, PHP, ...
AI:
  • heuristic search, planning, Bayesian learning, deep belief networks, reinforcement learning
Databases:
  • PostgreSQL, MySQL, Oracle
GNU/Linux:
  • Unix shell and environment
  • Vim, Mercurial, make, ctags, Firebug, ...
Networking:
  • TCP/IP, HTTP, REST, XML-RPC, ...

Education

MSc Computer Science, Czech Technical University in Prague (CTU), Czech Republic

Professional experience

See a separate page for project details.

Software Engineer - Independent contractor (Immune.dk, Meditatel.cz)
Since July 2008

  • Implemented non-blocking TCP and SNMP monitoring.
  • Implemented web crawlers and HTML parsers.
  • Plotted and visualized flat prices in Prague.
  • Used Google App Engine to store monitoring data.
  • Developed a web application to manage millions of telephone directory ads.
  • Used natural language processing to extract information from news sources.

Technologies used: Python, AJAX, Google APIs, Java, Spring, iBATIS

Java Developer, Team Leader - ALEF NULA
December 2006 - June 2008

Released a web portal for IPTV set-top-boxes. Portal features:
  • Advanced TV player, Electronic Program Guide, Network PVR, Self-Care and a Video on Demand store.
  • Slick and fast AJAX GUI with data precaching.
  • Session-less, secure cookie based authentication.
  • Web services for content import and integration with billing systems.

Technologies used: Java, JavaScript, Python, AJAX, Spring, Hibernate, PostgreSQL

Programmer Analyst - Vodafone Czech Republic
July 2005 - November 2006

Member of an integration team:
  • Implanted Vodafone live!, Xmas promos, new tariffs, ...
  • Analyzed needed changes to existing systems.
  • Improved legacy code to make it more readable, effective and elegant.

Technologies used: Java, C++, Python, JMS, SOAP, UML, XML Schema, XPath, TIBCO, Oracle PL/SQL

RDC Guru - Research and Development Centre
May 2002 - June 2005

Mentor for younger programmers:
  • Helped with design, development and release policy.
  • Authored a guide how to develop a multi-threaded server.
Designed and developed:
  • A problem solving contest web platform.
  • A flexible server for SMS processing.
  • A sever to guess geographic position of a mobile phone.
  • Pocket self-care for mobile phones.
  • SMS voting.
  • A SMS-Centre emulator.

Technologies used: Java, C++, Python, PHP, OGNL, Pthreads, STL, Spring, Servlets, Tapestry, Hibernate, JDBC, MySQL, XML-RPC, DocBook

Open Source Developer
2001 - Present

Fish Fillets - Next Generation: [http://fillets.sourceforge.net]
  • Rewrote a successful logical game for Linux and other systems.
  • The game contains 70 game levels with strong story.
  • Dialogs and animation are driven by an embedded scripting language.
  • Developed compiler from Pascal to Lua to speed up the conversion.
  • Contributors translated the game to 14 languages.

Technologies used: C++, Lua, Python, STL, SDL

RoboHunt: [http://ivo.danihelka.net/python/]
  • Developed a game with artificial hunters. The player has to hide and scurry.
  • AI techniques of Particle Filters were used to make authentic hunters.
  • Used optimized A* algorithm for path finding. That provided support for big number of agents.

Technologies used: Python, Pygame

Awards

RDC Crystal Cube - An award for the research results and excellent cooperation.