Our attempt to build a prototype recreating the matrix rain effecthttps://kitfucoda.medium.com/recreating-the-matrix-rain-with-pygame-manual-fades-and-the-transparency-of-code-ab24820ea4bd last week forced us to revise the mini Pygame frameworkhttps:...
Earlier in the year, we explored Pygamehttps://dev.to/jeffrey04/my-pygame-evolution-embracing-asyncio-and-immutability-for-scalable-design-g55 by writing a simple tic-tac-toe gamehttps://dev.to/jeffrey04/the-pygame-framework-i-didnt-plan-building-tic...
“What can we do with asynchronous programming?”, This was one of the questions I received in my talk on asynchronous programming that I delivered in Pycon MYhttps://kitfucoda.medium.com/from-blog-post-to-pycon-my-one-week-crash-course-in-public-speak...
If you were to deliver a talk in a conference for Ruby engineers, what would the topic be? That was a question I asked my supervisor during PyCon MYhttps://www.pycon.my/ 2025. He eventually answered that he did not have a topic. Somehow it didn’t sur...
In the last articlehttps://kitfucoda.medium.com/beyond-rbenv-and-pyenv-achieving-reproducible-dev-setups-with-nix-04b610175a59, we discussed the evolution of my development setup, focusing on how it became reproducible over time. It was originally wr...
Setting up a development environment is a painful process, as I discussed previouslyhttps://kitfucoda.medium.com/from-dotfile-hacks-to-open-source-my-development-environment-evolution-a771ea7bf8a8 when detailing how mine evolved to the combination of...
Over the last weekend, I spent some time mucking around with Pygamehttps://www.pygame.org/news. Despite facing some challenges along the way, I ended up with a working prototype. There was neither design nor specification drafted for the project. Non...
Maintaining a blog is a lot of work, especially when it comes to finding new ideas. Over the weekend, I explored Pygamehttps://www.pygame.org/news by building a simple game. I was very humbled by the experience throughout the build. Aha, this explora...
Let’s talk about setting up a development machine for work today. If there is one thing techies love talking about, it’s our setup. Some take enormous pride in how they fine-tuned the process to perfection, often involving fancy or unusual components...
Last week, we talked about removing hardcoded synchronization primitiveshttps://kitfucoda.medium.com/telegram-chatbots-evolution-decoupling-parallel-python-s-shared-state-for-clarity-e76880ce9b1f. The refactoring was prompted by my revision to a take...
After building the intro animationhttps://kitfucoda.medium.com/code-rains-revelation-embracing-existence-before-perfection-60f5c641963a last week,https://kitfucoda.medium.com/code-rains-revelation-embracing-existence-before-perfection-60f5c641963a, I...
I would like to start this article by thanking the editorial team of JavaScript in Plain Englishhttps://javascript.plainenglish.io/ for featuring my previous articlehttps://medium.com/p/99f68dd05f09 on setting up a LLM chatbot as my editorhttps://dev...
When I was building a quick frontend to the LLM gamehttps://dev.to/jeffrey04/i-built-a-word-guessing-game-with-llm-357, I used jQueryhttps://jquery.com/ to quickly whip out a prototype. Only after I was happy with it, I ported the code to the modern ...
This would be an irregular series of posts on my new attempt to learn Category Theory. This time, it would be based on the book titled The Dao of Functional Programminghttps://github.com/BartoszMilewski/DaoFP written by Dr. Bartosz Milewskihttps://ba...
Last week, we reimplemented our 20-questions varianthttps://dev.to/jeffrey04/leveling-up-llm-game-development-with-dspy-356c, and it received quite a bit of attention. So far we built a web experience, as well as a command line interface for the game...
After completing the series on asynchronous programminghttps://dev.to/jeffrey04/concurrency-vs-parallelism-achieving-scalability-with-processpoolexecutor-1n7n, I needed some time off to deal with the stress in life. During the break, I decided to exp...
In our previous exploration, we dove deep into AsyncIO by writing a task schedulerhttps://dev.to/jeffrey04/asyncio-task-management-a-hands-on-scheduler-project-2e54. We discovered how IO-bound operations were scheduled to the event loop concurrently ...
We discussed Awaitables last weekhttps://dev.to/jeffrey04/understanding-awaitables-coroutines-tasks-and-futures-in-python-gk7. The article covered coroutines, tasks and futures as well as a quick introduction to the event loop. Let’s build an example...
Previously, we explored chatbot building with AsyncIOhttps://dev.to/jeffrey04/how-to-write-an-asyncio-telegram-bot-in-python-4hig. As I am committing to publish one article a week, I am constantly on the lookout for new ideas. Then I figured it may b...
I am almost one year into my current relationship. It is hard to believe how fast time flies, until I look into our photo archive. Being an enthusiastic photographer, my partner captured moments of us together. However, the increasing stack of photos...