Algorithm Economy and Containers

Containers (Docker, et al) have been getting all the hype recently.  I’ve played around with these a bit, but I’m not yet convinced this is the next greatest thing for projects that I am involved with currently.  However, it helps to look at these from different perspectives.  Here’s a blog post that ties containers to a new term that I haven’t heard before – algorithm economy.

The “algorithm economy” is a term established by Gartner to describe the next wave of innovation, where developers can produce, distribute, and commercialize their code. The algorithm economy is not about buying and selling complete apps, but rather functional, easy to integrate algorithms that enable developers to build smarter apps, quicker and cheaper than before.

CSS Colorguard – keep a watchful eye on your CSS colors

CSS Colorguard – keep a watchful eye on your CSS colors.

Here is a better description from the README:

Every CSS project starts out with good intentions, but inevitably, one too many people eye-dropper colors into nooks and crannies that you never knew existed. CSS Colorguard helps you maintain the color set that you want, and warns you when colors you’ve added are too similar to ones that already exist. Naturally, it’s all configurable to your tastes.

And here is my favorite part:

Colorguard uses the CIEDE2000 algorithm to determine the similarity of each of the colors in your CSS file. This algorithm is quite complex, but is used in the broadcasting community as the best approximation of human ability to discern differences in color. RGB on the other hand, is pretty bad at representing differences in color purely based on the numerical difference of the hex values.

Luckily, someone else already implemented CIEDE2000, so I didn’t have to. Tight. Cause this thing is mathy as hell.

CIEDE2000 math

John Carmack talks about the physics of light and rendering

For a while now I am thinking that you don’t really know something until you can easily explain it or talk about it, in simple words and with people who might not even know one thing about the subject.  John Carmack is well known and respected in the field of computer graphics and gaming, and watch him talk about light and rendering!  I now nothing of it, and I watch this whole talk, glued to the screen, catching every word.

Apart from the physics of light, this provokes thought on other subjects too.   The complexity of simple things comes to mind.  Something that we all observe every day and seldom think about – turns out to be so complex.  The importance of computer games is another subject.  I’m a big fan of Quake in particular, and I’ve heard a billion times people asking questions on why is this important at all and how this makes the world better.  Well, I guess, that question is easy to answer now.  Some game makers push the technology, push the science, and they do make the world better.  But they need us – gamers, once in a while, to pay for that and to provide feedback on what works and what doesn’t.

The Archive of Interesting Code

The Archive of Interesting Code

The Archive of Interesting Code is an (ambitious) effort on my part to research, intuit, and code up every interesting algorithm and data structure ever invented. In doing so, I hope both to learn the mathematical techniques that power these technologies and to improve my skills as a programmer.

Weird Faces Study

Weird Faces Study

faces

 

Computer generated images have a certain aesthetics to them that make them immediately recognizable as such by the trained eye. Weird Faces Study is an attempt to combine my old interest in illustration with programing, to create something procedural that has a truly individual artistic touch to it and is not instantly recognizable as a generative art piece. Even though, the faces look hand-drawn, they are entirely expressed by algorithmic rules. Each face is random, each face is unique. Still, they look similar to my actual hand drawn faces.

Interesting and cool, especially for things like user profiles with missing avatars.