Small Victories

Posted on Mar 1, 2021

Today I woke up in the worst of possible moods. There are lots of things going on in my life and sometimes… well… I’m defeated by all of it. People very often tell me they admire my strength, but truth be told, I feel anything but strong. I just try to take steps towards what I think might be a better place.

To quote our beloved Uncle Iroh in The Crossroads of Destiny (ATLA 02x20):

Sometimes, life is like this dark tunnel. You can’t always see the light at the end of the tunnel, but if you just keep moving, you will come to a better place.

So today, although there were a lot of things I had to drop because I couldn’t do them, I fired up vis1 and hacked some more of scalc.

I found myself learning some new tricks related to function pointers. Well, not learning, actually inferring them from what I know of ASM… I guess that’s a better description. In any case, it was so satisfying to see this on my terminal screen:

$ make
Build options:
CFLAGS 	= -std=c99 -Wpedantic -Wall -Wextra -DVERSION="0.0.0" -D_POSIX_C_SOURCE=200809L
LDFLAGS	= -lm
CC	= cc

cc -c -std=c99 -Wpedantic -Wall -Wextra -DVERSION=\"0.0.0\" -D_POSIX_C_SOURCE=200809L op.c
cc -c -std=c99 -Wpedantic -Wall -Wextra -DVERSION=\"0.0.0\" -D_POSIX_C_SOURCE=200809L rpn.c
cc -c -std=c99 -Wpedantic -Wall -Wextra -DVERSION=\"0.0.0\" -D_POSIX_C_SOURCE=200809L scalc.c
cc -o scalc op.o rpn.o scalc.o -lm
$ echo '6 7 + 19 - 8 ^' | ./scalc # (6 + 7 - 19)^8
1679616.000000

This was my small victory today. It might seem not as much, but do you see that op.c file? There I want to do write some magic that hopefully will make scalc extensible. Today I wrote some code that I think will make that possible very, very soon.

I’m also excited that I’m having some ideas already as to how to allow scalc do some stuff like letting the user store some values into memory, reuse the stack, and maybe even define custom functions! I’m not really sure (that’s why I still haven’t created a proper sourcehut “hub” for scalc), but you know… As simple and less of spectacular this code might look, it helped me feel better.

Sometimes that’s the most important thing.


  1. In my humble opinion, the best vi(m)-like text editor ever↩︎