I'm experimenting creating a static & dynamic dispatching library for Zig... It's been kind of tough but I think I'm getting there. The code is essentially a rewrite of interface.zig (another similar zig library) but I'm trying to change some stuff in the design. I'm not sure if I should call it a fork or what lol

Today I learned about the XY-Problem, it's always nice to have a name to put on those things you see all the time :)

en.wikipedia.org/wiki/XY_probl

I love how many people around me seems to treat logic:

the sun does not wear a hat.
fish do not wear hats.
the sun is a fish.

It checks out :)

So, I've decided to stop the "dmenu Zig remake" for a while and instead decided to study Xlib - still using Zig, though! - I'm trying to make a decent wrapper and things seem to be going well!

Also, I didn't know I could have fun with test cases :P - the one on the photo below was actually very pleasing to write

Have been learning Zig the past month, and it looks like a really cool language!

As an exercise I'm trying to remake dmenu on it and I guess it's going well so far. But it's taking quite some time because I barely understand the Xlib API and whatever are the crazy variable names on dmenu's source.

Downloaded a more stable version (it was picom by the way). I only used the other version I was using because I wanted sophisticated blur but now I'm not even using it.

Show thread

My compositor has been crashing way too often recently... I've got to take a look at this later.

Do you like my latest work of art. I've spent a really long time on it. I don't know like, 10 minutes or so #Linux

calculators - a weapon of math instruction

stackoverflow.com/questions/13

That's a weird thing. Why do while loops run on subshells?

Welp, at least I found an explanation to the bizarre bugs I used to have related to this.

Programming made the impossible possible. You can have a null object and a constant variable.

Done! It seems to be working well. The only thing that is missing is a way to open recently opened games but to be honest I think it won't be necessary.

Show thread

@yohanandiamond hah! that's the way to go, if you're too lazy to learn a pre-existing tool, just write your own one

Also, I'm doing (almost) all of this stuff in python. It's kinda annoying to not to be able to use multiple-statement lambda functions or to chain iterator methods, but it's not the worst thing.

If I find some other high-level interpreted language (or at least a compiled one where I find a way to JIT-compile it without much issue), I'll probably check it out. I wanna try Nim out - I don't think it has a "script" feature but I think I can do JIT compilation right before running... idk

Show thread

I'm also going to integrate a small game launcher, which would search a specific folder of mine and get all games in it (using a Game.toml file for each one).

I'm still planning how to do this, but I'm excited to do it!

Show thread

Have been improving my launcher script and it's starting to work well.

I actually had a previous version that showed all programs, but I figured that added some seconds of delay when my computer was in high disk/cpu usage, so I now am trying to show less things right away (mostly commands such as run something or select a binary - which then would open the old list -, or a recent command).

Also, for AoC day 18, I tried doing it but it ended up not working because I needed to make a calculator that supported infix operators, and I'm not good at parsers, yet I tried doing them manually.

I'm gonna try again tomorrow, using some kind of library (maybe pest.rs). Any suggestions (in Rust)?

Show thread

A little experimental thing I did!

github.com/YohananDiamond/root

It's basically a dwmblocks clone in Rust. I've been wanting to do this for quite a while, and I've finally gathered enough knowledge to do it. Had to use multithreading, Xlib C bindings, dynamic dispatching...

Show older
Fosstodon

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.