Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

A small freedom area RSS

A small freedom area...
Fixing the iterative damping interpolation in video games As I'm exploring the fantastic world of indie game development lately, I end up watching a large...
9 months ago
77
9 months ago
As I'm exploring the fantastic world of indie game development lately, I end up watching a large number of video tutorials on the subject. Even though the quality of the content is pretty variable, I'm very grateful to the creators for it. That being said, I couldn't help...
A small freedom area...
Hacking window titles to help OBS This write-up is meant to present the rationale and technical details behind a tiny project I wrote...
a year ago
70
a year ago
This write-up is meant to present the rationale and technical details behind a tiny project I wrote the other day, WTH, or WindowTitleHack, which is meant to force a constant window name for apps that keep changing it (I'm looking specifically at Firefox and Krita, but there are...
A small freedom area...
Figuring out round, floor and ceil with integer division Lately I've been transforming a float based algorithm to integers in order to make it bit-exact....
over a year ago
32
over a year ago
Lately I've been transforming a float based algorithm to integers in order to make it bit-exact. Preserving the precision as best as possible was way more challenging than I initially though, which forced me to go deep down the rabbit hole. During the process I realized I had...
A small freedom area...
Improving color quantization heuristics In 2015, I wrote an article about how the palette color quantization was improved in FFmpeg in order...
over a year ago
31
over a year ago
In 2015, I wrote an article about how the palette color quantization was improved in FFmpeg in order to make nice animated GIF files. For some reason, to this day this is one of my most popular article. As time passed, my experience with colors grew and I ended up being...
A small freedom area...
Porting OkLab colorspace to integer arithmetic For reasons I'll explain in a futur write-up, I needed to make use of a perceptually uniform...
over a year ago
29
over a year ago
For reasons I'll explain in a futur write-up, I needed to make use of a perceptually uniform colorspace in some computer vision code. OkLab from Björn Ottosson was a great candidate given how simple the implementation is. But there is a plot twist: I needed the code to be...
A small freedom area...
GCC undefined behaviors are getting wild Happy with my recent breakthrough in understanding C integer divisions after weeks of struggle, I...
over a year ago
27
over a year ago
Happy with my recent breakthrough in understanding C integer divisions after weeks of struggle, I was minding my own business having fun writing integer arithmetic code. Life was good, when suddenly… zsh: segmentation fault (core dumped). That code wasn't messing with memory much...
A small freedom area...
Deconstructing Bézier curves Graphists, animators, game programmers, font designers, and other graphics professionals and...
over a year ago
27
over a year ago
Graphists, animators, game programmers, font designers, and other graphics professionals and enthusiasts are often working with Bézier curves. They're popular, extensively documented, and used pretty much everywhere. That being said, I find them being explained almost exclusively...
A small freedom area...
Exploring intricate execution mysteries by reversing a crackme It's been a very long time since I've done some actual reverse engineering work. Going through a...
over a year ago
25
over a year ago
It's been a very long time since I've done some actual reverse engineering work. Going through a difficult period currently, I needed to take a break from the graphics world and go back to the roots: understanding obscure or elementary tech stuff. One may argue that it was most...
A small freedom area...
Investigating why Steam started picking a random font Out of the blue my Steam started picking a random font I had in my user fonts dir: Virgil, the...
over a year ago
21
over a year ago
Out of the blue my Steam started picking a random font I had in my user fonts dir: Virgil, the Excalidraw font. That triggered me all sorts of emotions, ranging from laugh to total incredulity. I initially thought the root cause was a random derping from Valve but the Internet...
A small freedom area...
From roots to polynomials Polynomials can be represented in various forms. The most common ones are those I call the "sum of...
over a year ago
21
over a year ago
Polynomials can be represented in various forms. The most common ones are those I call the "sum of powers" (for example f(x)=ax³+bx²+cx+d) and the "root factors" (for example f(x)=(x-r)(x-s)(x-t), where r, s and t are the roots). The process of transforming the former into the...
A small freedom area...
Saving a restic backup the hard way This is the end of the holidays in which I spent a long time building a backup infrastructure like a...
over a year ago
20
over a year ago
This is the end of the holidays in which I spent a long time building a backup infrastructure like a responsible adult. The villain of the following story is the junk MIPS machine which held hostage most of my important data (about 1TB). Its evil plan was to build up a corrupted...
A small freedom area...
Invert a function using Newton iterations Newton's method is probably one of the most popular algorithm for finding the roots of a function...
over a year ago
19
over a year ago
Newton's method is probably one of the most popular algorithm for finding the roots of a function through successive numeric approximations. In less cryptic words, if you have an opaque function f(x), and you need to solve f(x)=0 (finding where the function crosses the x-axis),...