Update:
All the patches1, 2 has been merged into the main branch of Fennel language, so expect to see improved fennelview in next stable release! Some semantics have been altered, so I’ve updated the post a bit to reflect the changes.
Programming languages come in all shapes and sizes. There are pretty simple languages and really complex ones. But what unites most of these languages is the syntax. There are many languages so-called C-like, as they share many syntax ideas with C language, which includes consistent indentation, grouping, scoping, and infix notation.
Previously I decided to implement a rather basic raycasting engine in ClojureScript. It was a lot of fun, an interesting experience, and ClojureScript was awesome. I’ve implemented a small labyrinth game and thought about adding more features to the engine, such as camera shake, and wall height change.
Today’s topic will again be about text editing software (one of my favorite topics actually). However, instead of discussing text editors themselves, I’ll share my opinion on such things as editor-hopping.
What is editor-hopping? It’s, well, when you change text editors every day/week/month/year.
For a long time, I was a fan of Hack font. It has really nice language support, great readability at a size of 9pt, and zero with a dot. I love it when zero comes with a dot. Many fonts use zero with a line, to differentiate it from capital O, but on small sizes, it is not great, however, a dot looks fine when both small and big.
Modern text editors usually operate in one instance. When I select some advanced text editor as my preferred editor in the system, I expect this to happen:
I click on some files in the file manager; If there’s no editor instance opened, a new instance opens with the file ready to edit; If there is an instance of an editor opened somewhere, a file is being opened in it, and the editor is brought to me via some focus event.
Another good service is going to be shut down by Google. I was a happy user of Google Play Music (GPM) for a long time, and although it had some problems, I still enjoyed it. It has a decent web interface, and a fine mobile app, but most importantly I’ve listened to a lot of new music every day, and my library constantly evolved, thanks to Google recommendation systems, which is actually good.
While working on my previous post I was mainly using Emacs, because it has the best support for Lisp languages. It has great integration with the REPL, can run a server for my application in the background, and so on. And actually, I use this a lot while working on this blog - I run hugo process in the background to see how my page is looking.
Ray casting is quite an old technique, that was heavily used in the early days of game development in a lot of games to create an illusion of 3D space. The most known example, and perhaps the first widely successful game that used this technique, was Wolfenstein 3D, made by ID Software in 1992.
This is yet another follow-up post in the Emacs configuration series, which is also about Tabs. The previous post was about how tabs behave when you close them, and how I think the algorithm can be improved. This post is more about visuals and horizontal space management.