summaryrefslogtreecommitdiff
path: root/www/blog/2019-12-09/index.html
blob: 66de6529df0c0bff99bd930ff361d7b4d9c2e18a (plain)
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&#39;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&#39;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 -&gt; 80x86 -&gt; 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 &quot;+
      1 1&quot;</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&#39;ve been documented here, was my conlang / world-building
      project &quot;Tyur&quot;. 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 &quot;Tyur&quot; 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>