--post-date: 2019-12-09 --type: blog

Lisps, Assembly, C, and Conlangs

I had originally hoped to do more blogging as a way of practicing my writing and an incentive to do more hobby programming. The intent was never to make this site solely programming, I had actually a few scrapped posts about baking and guitar that just didn't get anywhere... but that being said I did have a fair amount of hobbying in 2019 that I can share some unfiltered, semi-structured thoughts on.

Racket, 80x86, and even more C

Racket

Racket is a general-purpose lisp-like language. I had began messing around in it with the intention of creating a similar language to Scribble a document authoring language written in Racket. I made the classic mistake of trying to create a productivity tool rather than just do the task I had originally intended to do. It was interesting messing around in a lisp/functional language which I haven't really used in a long time. I wish I had more insightful things to say about it or project to share. Either way its very worth the look.

6502 -> 80x86 -> Commander X16

I wanted to play around with writing some assembly language programs. I looked back at the NES tutorials and tried writing some basic hello-world programs for it, but never really came out with anything worth while. I booted up dosbox and tried experimenting in some DOS programming to get a kick of nostalgia. On my way over to a friends apartment I stumbled across an 80x86 reference book which I took home and dug into. I made some decent progress in, relative to my 6502 learning. But this was in the summer, and I was preparing for what would turn into a pretty time consuming move. After my move, my puppy, and some youtube, The 8-Bit Guy made a video about his 8 Bit computer project Commander X16 which I started looking into. Like all the other assembly language projects they never amounted to more than a few print statements or colors on the screen. But X16 is something I am going to keep an eye on in 2020.
Ben Eater also started a 6502 video series which was amazing, and thankfully my learnings from earlier in the year made the content very understandable. In summary, I spent a lot of 2019 reading and watching a lot of content about assembly language programming, but never really did anything with it.

Never ending C

Without much to really say on the topic, I kept writing small programs in C throughout the year. I spent a lot of time debugging and troubleshooting a prefix terminal calculator with the intention of making it a full utility to use on the command line / from within scripts. You could do simple math without opening up x-calc, which I find myself doing to check some quick math. Example code: calc "+ 1 1". To me this was far cleaner than writing: echo $((1+1)). The big ideas I had for it was adding a REPL and making it a command line calculator tool where you could get the features of a standard calculator with store and recall functions. This project involved making two stacks: the operations and the numbers. Implementing two stacks from scratch was interesting and I may upload the source and link it in an update. Overall it was full of breaks, bugs, wrong turns, and bizarre memory issues. So needless to say it was a fun 3 days of programming.

Non Programming Writing

The project that soaked up a majority of my writing time, which sadly should've been documented here, was my conlang / world-building project "Tyur". This project spawned out of sci-fi story ideas that, of course, never went anywhere (due to my poor dialog writing, and writing in general) and my interest in language history. I have been reading The Horse the Wheel and Language by David W. Anthony, which goes into the history around Proto-Indo-European. It can be a bit dense so I had been reading it on and off, and during the off times also started The Origins of Language: A Slim Guide by James R. Hurford, which tries to provide insights on the evolutionary concept of language. Both of these provided some fodder for the idea of creating my own conlang. My conlang is "Tyur" the language spoken by the Tyur people. This process has really been a mix of world-building around the Tyur and some fun fantasy mini story ideas similar to The Lord of the Rings and old Warhammer Fantasy worlds. This however began my adventure down the rabbit hole of trying to figure out how to create a font so I can write more here about it. The documentation on this conlang is a mix of loose-leaf folded in my bag that I scribble on when I get an idea. So figuring out a proper way of building the alphabet and some root words to start a dictionary are my current goals for the remainder of the year/ start of 2020.

Closing

In closing, I think despite not writing much here, I messed around with some interesting languages this year, and hope I can hobby more in 2020.