~louismerlin/december-adventure

Coding a little bit every day in December
Update log for 03/12/2024
Update log for 02/12/2024
Update log for 01/12/2024

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~louismerlin/december-adventure
read/write
[email protected]:~louismerlin/december-adventure

You can also use your local clone with git send-email.

#@merlin's December Adventure

#2024

GOAL: Make some progress on a tiny ActivityPub server I've been doodling with this year. The goal is to have it interact in a small way with the fediverse.

01 DEC 24: Got more familiar with the code I wrote 6 months ago, started shaping the CLI.

02 DEC 24: Wrote the init and adduser methods, they create directories and generate key pairs. Started working on getting actors from the storage.

03 DEC 24: Added some information about users in a json file, which is parsed when getting user info and webfinger.


#2023

GOAL: I've been creating a 16-bit virtual stack machine named sola over the past few months. I'd love to have a working text editor by the end of the month.

01 DEC 23: Commited unsaved changes to sola, right now the typewriter program just writes characters to the screen. Added behavior for carriage return.

02 DEC 23: Attempted to write text data to buffer in addition to the screen.

03 DEC 23: Managed to write text data to buffer in a naive way. Started sketching out some doubly linked list routines to have lines management.

04 DEC 23: Came back to the basic data buffer, and implemented logic for left arrow. Started writing the data shifting logic for character insert.

05 DEC 23: Finished the logic for data-shifting, and added a display routine. It's starting to look and feel like a text editor!

06 DEC 23: Cleaned up some code, created a utility that helps with charcodes and added support for the right arrow key in the typewriter.

07 DEC 23: Made carriage returns actually work as expected. Added a couple of TODOs in the code for things I know I'll need.

08 DEC 23: Changed way of computing x and y coordinates on screen. Fixed the bugs I could find, including some bugs in the assembler and interpreter. Work on up and down arrow behavior.

09 DEC 23: Add better screen-clearing, implement support for colors and create a banner in typewriter.

10 DEC 23: Change some routine names and functionality to lay the groundwork for the data representation to be 1-1 with binary text data, which will be required for opening and writing to files. Start ideating on reading and writing little-endian bytes.

11 DEC 23: Store and get text data as little-endian data. The stage is set for writing and reading files.

12 DEC 23: Start working on device interaction to get args from the CLI and read/write files from within the virtual machine.

13 DEC 23: Stuck on Rust-specific issues, I hadn't prepared my code to handle the devices writing directly to the VM's ram.

14 DEC 23: Finally was able to get to the desired behavior. Sola program can now read CLI args, next is file read/write.

15 DEC 23: Implement strings in sola, and start working on file i/o.

16 DEC 23: Write first demo of reading a file that was provided as argument.

17 DEC 23: Make typewriter open the data from file given as argument.

18 DEC 23: Start working on scrolling in typewriter.

19 DEC 23: Finish scrolling implementation in typewriter.

20 DEC 23: Add logic to scroll up, fix bug with scrolling down.

21 DEC 23: Start writing code to save data to file.

22 DEC 23: Finish logic to save file, initial goal is completed!