Welcome to my site, I share here my personal projects, learnings, and ideas
This is Samuel El-Borai (aka dgellow) personal website.
I’m an experienced software engineer, doing it professionally since 2009. Projects and blog articles showcased here are things I work on during my free time, sometime to solve issues I have, sometime as part of my continuous learning, or just to satisfy my curiosity.
My interests are varied but expect to see content related to Go/Golang as it currently is my main programming language. I’m also learning C++, game and graphics programming, so that will surely become some of the main topics over time.
Feel free to look around, and share things you find interesting. And don’t hesitate to contact me for comments or other reasons.
This website is strictly personal and doesn’t represent my professional experience, send me an email if that’s what you’re looking for.
Sam's Virtual Console
I’m playing around with the idea of a completely virtual retro game console, in the idea of Pico8 but closer to a Commodore 64.
The project is a work in progress, I work on it from time to time when I feel like it. That gives me the opportunity to learn C++, and 6502 programming.
The project consists of: - A virtual CPU, currently an emulation of a 6502 - An assembler to parse and compile a simple ASM language to 6502 instructions - A graphical editor to be able to write programs, run them in the virtual console, and debug it
Source code: https://github.com/dgellow/VirtualConsole
Color palette extraction
Because I wanted to understand how that works, I created a small web application that extracts mains colors from an image file, resulting in a color palette.
The application is available online. The core is really small, it is a simple implementation of a quantizer using an histogram. The N most frequent colors are then used to compose the palette.
Source code available at https://github.com/dgellow/imgcolor.
Movie Releases (telegram bot)
As I wanted to play a bit with Google’s Appengine, and to do some programming with my partner in life, we created together a simple bot for the chat application Telegram. The bot, available at @MovieReleasesBot, allows people to list incoming movie releases and subscribe to them to receive a notification a few days before the actual release.
The complete code is available at https://github.com/dgellow/movie-releases. Given that this project is something we do during our weekends and that my partner doesn’t have a programming background be aware that nothing here is optimized in any way, or covered by tests, or anything that would be considered production ready.
Still a fun little project I like to spend some time on from time to time (and that gives us some great whiteboard sessions!) 🙂.
Disk Info (macOS)
One thing I find myself constantly checking on my personal machines is the amount of free space. macOS doesn’t provide a quick way to get that information without switching the context, that’s why I created DiskInfo.app, a truly simple application for the menu bar that displays some statistics. One click, get the job done. I use it all the time 😁. Unfortunately it isn’t available on the App Store anymore, 100€/year only for this small tool is way too expensive.
Source code available at https://github.com/dgellow/DiskInfo.
This website
Because recursivity is funny 😃.
More seriously, I would like to improve my writing, have a place with my thoughts and projects, and see if I can keep a blog up to date. Thus this website.
Hey there. Do you want to approach me for a project, or a question? Please do so, I will do my best to answer quickly.
I’m currently located in Berlin, Germany.
My current local time is .