Andrey Listopadov

Somehow I’ve missed the fifth anniversary of my blog! Oh well. Well, it’s not that big of a deal, but I want to reflect on my blogging a bit. I started this blog on January 27th, 2020 with the following line: This is the first public post that I wrote because I’ve finally thought that I’m clever enough to do so.
I just released a new version of the deps.fnl project! After getting some feedback on the 0.1.0 version and addressing most of it, I’m ready to present a new version with improved dependency and conflict handling. Major changes The deps.fnl file format The :deps field was changed back to use maps, as it was during the prototyping stage:
I’d like to present a new project, aimed at one of the areas where the Fennel ecosystem can be improved - project dependency management. Other programming languages have tools to pull in, build, and load external dependencies. Java has Maven, Clojure has Leiningen and other projects like this, Python has Pip and Poetry, and Lua has Luarocks.
Recently I was participating in a conversation about popular programming languages and I brought up Lua. I was met with a response like this: Lua? Can you even do anything with this language? The conversation then shifted towards discussing modern dynamic languages, mostly Python, and how it gives you everything Java does without being as complicated as Java.
What a year! Not as productive as last year, with only 18 posts this time (19 including this one), but I decided to post less for several reasons. The first one, is that right at the start of this year I had some events in my personal life that had an impact on my passion for writing.
After watching this year’s EmacsConf and seeing Guile Emacs being resurrected I thought to myself - why limit ourselves to Guile? Sure, Guile isn’t just a Scheme implementation, thanks to its compiler-tower-based design. Other languages exist for Guile VM, such as Emacs Lisp, and Guile manual lists the following languages with various stages of completeness:
During the course of my life, I was mainly doing things blindly. Not that I’m actually blind, what I mean is that I didn’t study that much. Instead, I always preferred to rediscover things by myself. For the most part. When I was little, I didn’t have any particular hobbies.
One thing I like about Lua is that it has a limited amount of built-in types and data structures. There are no objects, just tables. And if you need a custom behavior, a metatable can be attached to any table to extend it with custom methods that integrate with the rest of Lua runtime.
I’ve been absent for a while - you may have noticed that compared to the previous year, I posted a lot less this time. There are two closely related reasons for that. First, I felt burned out from programming. Second, I finally picked up a guitar after five or more years and started recording again.
When Clojure 1.12.0 was released in September, the release note had a lot of cool features, such as virtual threads, but one feature caught my eye in particular: support for Java Streams and functional interface support. That was just what I needed at work to port one of our internal libraries to Java, to make it easier to reuse from projects written in different JVM languages.
Newer Page 1 of 12 Older