|
|
||
|---|---|---|
| Advent-of-Clerk-2022-Day-12.mp4 | Add a video recording of the AoC 2022 | |
| README.md | Merge branch 'mp4' | |
| yin-yang_screenshot.png | Add Yin-Yang | |
| yin-yang_screenshot_inverted.png | Add Yin-Yang | |
Hi, my name is Alex!
Contact
You can find me on LinkedIn.
Gallery
Following are selected projects I work(ed) on, that I hope may be interesting to others.
PNG++
With PNG++ you can read or write PNG images in just a single line of C++: https://savannah.nongnu.org/projects/pngpp
png::image< png::rgb_pixel > image("input.png");
// ...
image.write("output.png");
Author and maintainer since 2007.
postgres:// URIs in libpq
There was a time when PostgreSQL only supported custom DSN connection strings.
Nowadays, every time you use a postgres:// URI in psql or such, you run
code
written by yours truly.
Supaplex @ Emacs
As a kid I was really fond of a DOS game called Supaplex. One of the earlier programming endeavors that I myself consider a success was a level editor for this game.
More than 20 years later I revisited the experience and wrote it as an editing mode for Emacs: https://github.com/a1exsh/supa-el
Screenshot of Supaplex level editor in Emacs
3D cube puzzle solutions
We got a 3D puzzle for the kids where one needs to assemble a ×ばつ3 cube by using 7 pieces of distinct shapes.
After fiddling with it for a while we realized that there is more than one solution. I got so intrigued by the fact, that I went to write an exhaustive solution search and live visualization.
It turns out that there are a total of 480 unique solutions to the puzzle!
Free Heroes of Might and Magic II — fixes and improvements
I am also a big fan of Heroes of Might and Magic video game franchise. The second installment in the series is my favorite, that's why I am delighted each time I can contribute to the fheroes2 project, a free software engine for the game:
My contributions range from completing translations to other languages, to pixel-perfecting the UI components, or trying to implement wild ideas such as upscaling the in-game graphics using special neural network models.
Advent of Clerk
I participated in the Advent of Code, solving the tasks using Clerk notebooks.
Paths being actively explored by the algorithm
Click here for a Video demo of the above
Code name "Figack"
Quite some time ago I started working on what supposed to be a real-time multi-player NetHack implementation in Clojure, code named Figack.
Main focus so far has been exploration of WebSockets capabilities, as well as trying to build a solid foundation for further expansion.
Currently it looks like this:
----------------------------------------
|......................................|
|............................@.........|
|......................................|
|......................................|
|.........$............................|
|......................................|
|......................................|
|......................................|
----------------------------------------
Exciting, I know!
Yin-Yang
Dark mode is all the rage. Also, folks are exchanging screenshots liberally.
At one point I noticed that it often happens that screenshots taken in dark theme end up on a light-themed page in the chat or in a document of another user, or vice versa.
I knew exactly what to do about it, so I wrote a bit of JavaScript that could automatically detect screenshots and apply a color inversion filter when it detected dark/light mismatch.
Can you guess which of the below UI screenshots is the original?
Original UI screenshot Inverted UI screenshot
While it worked flawlessly on local resources, packaging as a browser plugin didn't work out as nicely. It turned out that some websites impose certain restrictions (cough CORS cough) that prevent the plugin from accessing the image pixel data, so it's really tricky to make it work reliably. If you know how — by all means contact me!