All Posts

blog@yourbrowser ~ $ cd /home/blog ^C
blog@yourbrowser ~ $ cd /devlog
blog@yourbrowser ~ $ cat entries.md

Devlog #10 - 2025-01-14

Crosswords

I started a new project called “crosswords”, a crossword-puzzle generator written in Go. You can visit the application at https://crossword.nkoll.de.

Currently, the Frontend styling is generated mostly by ChatGPT, but in the future, it will get a rewrite into a better looking, handwritten Frontend Application.

The generated Puzzles will be saved as files and get deleted after 30 Days of inactivity. That means, if they aren’t accessed for 30 Days, they are lost. There are plans to add a User System, where puzzles saved into the User acount are not deleted automatically.

The Generation works by trying as many valid puzzles as possible and choosing the best one. This is done by first, checking the amount of fitted words, where a puzzle with more words is always better than fewer words. After that a score is computed, where the smaller the better and the more square the better. This is done either until all possible outcomes are computed or 5 seconds passed. The algorithm itself is pretty simple and naive, but goroutines make it possible to compute a lot of them in parallel.

Devlog #9 - 2024-12-23

Flowlang

I restructured the Semantic Analyzer for better readability and fixed a bug where the arithmetic operators would only check for numeric operands, but not if they are the same type.

I also started implementing Arrays, but I hit a wall and that’s still where I’m at.

Game of Life

I tried my hands at WebAssembly with Zig and made a small, semi-complete version of Conway’s Game of Life. I made a small HTML-Page, slapped some JS Glue on it to call the WASM Binary and enable easy interfacing between buttons/events and WASM.

Devlog #8 - 2024-12-13

Flowlang

Since the last entry, I added a few small things, like shorthand assignment syntax (i += 1, …), refactored and cleaned up the code base and added a big feature: Extensions!

It is now possible to write Extensions in Zig, which can be important via the build system (for example through Zig’s package manager), and then add globally available functions to call into Zig Code. That enables performance critical code to be implemented in Zig and exported via a simple, type-safe API into Flow-Land.

Devlog #7 - 2024-12-08

Flowlang

Userland Functions are on the way! Basic top-level functions work, but there are still a few bugs/unsolved problems regarding the analysis order, so calling a function in a declaration of a global variable/constant does not work yet.

Other Notable Improvements:

Devlog #6 - 2024-12-05

Flowlang

Got a lot done in Flowlang, and started with building a Tree-Sitter grammar for Syntax Highlighting in NeoVim. The current Version can be viewed on Gitlab.

Some notable milestones:

Devlog #5 - 2024-11-24

Flowlang

Started with Flowlang, a garbage-collected language with focus on concurrently and type-safety, inspired by Go and Zig.

Current Status:

I also wrote a Blog post about it.

Devlog #4 - 2024-11-18

zs

Added single file support. Now doing something like zs build.zig gives the expected output instead of errors

Devlog #3 - 2024-11-05

Blog

Added basic Syntax highlighting using Zine’s builtin treesitter parsing Telescope’s picker for Vim’s highlight-groups.

Devlog #2 - 2024-10-29

Zli

zs

Devlog #1 - 2024-10-15

This is my first entry of this Devlog. I will post updates on current projects all on this page, so it won’t be a very organized feed. I will just use this to document my progress overall, make short descriptions of new stuff I built. Maybe there will be something interesting for you.

If there is more to talk about in greater detail I will maybe talk about it in a separate blog post, which will then be linked from here.