About:

Andrey Listopadov is a software developer and free software enthusiast sharing thoughts on various topics.

Website:

Specializations:

Interests:

Software development Free software

Outgoing Links:

Subscribe to RSS:
The blog post discusses the implementation of Server-Sent Events (SSE) using the fnl-http library in Fennel. It begins with a simple HTTP server setup that serves files and then transitions to creating an SSE stream for real-time ...
A tutorial on implementing slopes in AABB collision systems using TIC-80 and bump.lua, highlighting the author's game development process and insights.
The author discusses their experience with Clojure tooling, particularly focusing on the challenges faced when using Clojure-LSP in a large project. They express a preference for a simpler setup without the resource-heavy language...
The author shares their experience transitioning from Linux (specifically GNOME) to macOS after purchasing a MacBook Pro. They discuss their long history with various desktop environments, highlighting the strengths and weaknesses...
A personal exploration of macOS music players, comparing their features and usability while expressing a preference for album-oriented interfaces over playlist-centric designs.
A year of change and growth, marked by job transitions, music exploration, and travel experiences, leading to reflections on personal and professional development.
The text discusses the effects of slow and fast systems in modern-day computing, focusing on hardware, software, and knowledge systems. It compares the implications of working with slow and fast systems, such as interactive coding...
The author is working on porting missing functions and features to fennel-cljlib. They are focusing on implementing dynamic scoping in Lua and Fennel using the debug library. The author explains the concept of dynamic scoping and ...
The author expresses disdain for the rise of AI in tech, particularly in coding. They acknowledge the potential benefits of neural networks in modeling, but criticize the use of AI in coding, music generation, and other fields. Th...
The text discusses the lack of string interpolation in Lua and introduces a small library called interpolation.lua that handles string interpolation in Lua in a similar way to Python’s f-strings. The author explains the capabiliti...
The author discusses the implementation of dynamic font-locking for fennel-mode, highlighting the problems with the initial attempt and the improvements made. The author also talks about the scoping rules and the decision to merge...
The text is a reflection on the author's blogging journey over the past five years, discussing the evolution of their interests, projects, and learning experiences. The author shares insights into their experiences with various pr...
The author released a new version of the deps.fnl project with improved dependency and conflict handling. The major changes include the change in the deps.fnl file format, conflict resolution, module-based conflict resolution, and...
The text introduces a new project called deps.fnl, which is a dependency manager for Fennel projects. It addresses the issues with shipping Fennel libraries and the problems encountered with libraries that need other libraries to ...

0Tiny OOP in Lua

2025-01-07

The text discusses Lua as a programming language and its object-oriented programming capabilities. The author argues that Lua is a better language than Python and provides an example of implementing object-oriented programming in ...

02024 Recap

2024-12-29

The author reflects on the year 2024, discussing personal events that impacted their writing, a burnout from programming, becoming a software architect, buying a new guitar, and plans for the future.
The author discusses the possibility of extending Emacs to run languages other than Guile, such as Lua and Fennel. They have created a package called require-fennel.el that allows Emacs to connect to a Fennel REPL and run Fennel f...
The author reflects on his life, discussing how he mainly did things without much formal study or training. He talks about his childhood, hobbies, and how he learned animation, fencing, programming, and guitar. He also discusses r...
The text discusses the challenges of extending JSON encoder with custom types in Lua. It explains the difficulties in implementing custom behavior for objects and the need for creative solutions. The author also introduces custom ...
The author discusses the reasons for posting less frequently, and the development of fnl-http, an HTTP/1.1 client and server implementation for Fennel. The main changes are related to chunked transfer encoding and support for mult...
The text discusses the author's experience with implementing lazy sequences and Java Streams in Clojure and Java. It compares the ease of use and conciseness of the two languages and highlights the challenges faced while implement...
The text discusses the author's experience with the LÖVE game engine and the freedom it provides compared to TIC-80. It explains the use of Lua's io.read() and threads in LÖVE for interactive development, and the challenges faced ...

0Boredom and gamedev

2024-09-07

The author went on vacation to the Republic of Türkiye and got bored quickly. He decided to do some game development on his phone using TIC-80 and LÖVE2D. He faced challenges with the limited screen space and storage restrictions ...
The text discusses the author's passion project, fnl-http, and the testing framework called fennel-test. The author spends a lot of time testing and fixing bugs in the framework, and has created custom reporters for the test resul...