1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title>senders.io - Blog</title>
<link rel='stylesheet' type='text/css' href='/index.css'>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id='header'>
<a class='title' href='/'>senders.io</a>
<nav>
<a href="/resume">Resume</a> <a href="/blog">Blog</a> <a href=
"https://github.com/s3nd3r5">Github</a>
</nav>
</div>
<div id='body'>
<article>
<h2>Lisps, Assembly, C, and Conlangs</h2>
<p>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.</p>
<h3>Racket, 80x86, and even more C</h3>
<h4>Racket</h4>
<p><a target="_blank" href="https://racket-lang.org">Racket</a> is a
general-purpose lisp-like language. I had began messing around in it with
the intention of creating a similar language to <a target="_blank" href=
"https://docs.racket-lang.org/scribble/">Scribble</a> a document
authoring language written in Racket. I made <a target="_blank" href=
"https://xkcd.com/1205/">the classic mistake</a> 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.</p>
<h4>6502 -> 80x86 -> Commander X16</h4>
<p>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,
<a target="_blank" href="http://www.the8bitguy.com">The 8-Bit Guy</a>
made a video about his 8 Bit computer project <a target="_blank" href=
"http://www.commanderx16.com/X16/Ready.html">Commander X16</a> 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.<br>
<a target="_blank" href="https://eater.net/">Ben Eater</a> also started a
<a target="_blank" href="https://eater.net/6502">6502 video series</a>
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.</p>
<h4>Never ending C</h4>
<p>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: <code class="inline">calc "+
1 1"</code>. To me this was far cleaner than writing: <code class=
'inline'>echo $((1+1))</code>. 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.</p>
<h3>Non Programming Writing</h3>
<p>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 <a target="_blank" href=
"https://www.goodreads.com/book/show/1831667.The_Horse_the_Wheel_and_Language">
The Horse the Wheel and Language</a> 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
<a target="_blank" href=
"https://www.goodreads.com/book/show/18635317-the-origins-of-language">The
Origins of Language: A Slim Guide</a> 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 <a target="_blank"
href="https://en.wikipedia.org/wiki/Constructed_language">conlang</a>. 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.</p>
<h3>Closing</h3>
<p>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.</p>
</article>
<div id='footer'>
<i>December 09, 2019</i>
</div>
</div>
</body>
</html>
|