A postmortem of Coherent GT 2.0

A postmortem of Coherent GT 2.0
I don't believe I've mentioned my daily job on this blog but now is a good moment to do so - I am a technical PM in Coherent Labs. Our most popular product Coherent GT is a UI middleware for games and allows people to use HTML5 to create the UI for their games instead ...

On the purpose of Math in a CS curriculum

It's been a while since I started teaching programming at academia and the question of 'Why is there so much math in our curriculum?' has been raised often by students. It's not like this hasn't been answered quadrillion times with highly varying results, but I'd rather put forth my own understanding of the reasons behind ...

Summer Recap

Here's my summer recap: Finally found time to create a more personal CV of mine - also includes an Easter egg for all Assassin's creed fans An AI Library in Python (also available on PyPi) that supports searching in solution-space, Propositional, Predicate and Fuzzy logic A LALR parser + translator in C++. Comes with a ...

Upgraded C++ (now with properties)

I love the programming concept of properties but I've never enjoyed using them in languages that have no native support, C++ being one of them. I came up with an idea on implementing properties and this here is a description on doing that Quick link to demo Get the code from pastebin, then compile and ...

Image filtering (your own Instagram) 1

Image filtering (your own Instagram)
Here I am, minding my own business when suddenly a wild though appears – 'I wanna build my own image filtering app!' This turned to be more of a JavaScript library than the full – blown app I imagined, but nevertheless I had a lot of fun building it so I'll share the experience. As ...

Validating complex user input (using normalized context-free grammars and CYK)

Validating complex user input (using normalized context-free grammars and CYK)
Here I am again, presenting to you another 'OH MI GOD, SO MUCH MATH' article. TL; DR; I made a simple JavaScript library that allows you to validate complex user input whenever regular expressions can't help you (validating formulae for example). Unfortunately, due to the algorithm's generality it ain't the quickest. Go to last section ...

Intro to programming materials

Intro to programming materials
This semester I'll be teaching Introduction to programming at FMI of Sofia University. To those of you lucky enough to be my fellow students (or to have found this page from another place), here's a list of materials to read about stuff. Return back to this post as I'll update it over time. Firstly, if ...

Generating vertices of regular n-sided polygons/polyhedra and circles/spheres

There are a number of applications that make use of circles, spheres, regular polygons and polyhedra. Most of them are in the area of computer graphics and most likely you are reading this because you'd like to know how are those objects generated in 3d modelling tools or perhaps in that awesome drawing library you ...

Linear recurrence relations (or how to solve recursive sequences effectively)

This article will have quite a few equations but they are not as hard to follow as they look so bear with me. Every programmer has written a program that finds the nth Fibonacci number. Some of you did it with recursion, others went a step ahead and used dynamic programming. Still, even with dynamic ...