Day 34 of the 47th orbit
I got up at 7:45 in the morning but felt rested. Going to bed early is good. I need to force myself to do it—my brain works much better the next day.
I radically reconsidered my approach to data in CJON. I came up with the idea of using type prefixes as operators. The idea is this: we introduce the notion of a typed operator. For example, = leaves the value unchanged and passes everything after the operator to the parser in raw form. The ~ operator means the value is passed into the key in GSM64-packed form; # means an integer in BASE36; @ means UnixTime packed in BASE36 plus or minus a quarter-hour offset in BASE36; ! means a Boolean value with one of the following values: T (true), F (false), U (undefined), N (null). I downgraded the version of CJON in the paper to 0.1, because I realized I did not know a damn thing when I originally invented the format for a narrow use case. Now everything has become more complicated. It is no accident that thousands of people in various consortia sit around throwing mud at each other in disputes. I guess I also have to push through that mud to reach the stars.
I nearly forgot to practice the language, but fortunately the app motivates and reminds me. I forced myself to complete several lessons and finished the first level in Legendary mode. Overall, I’m satisfied. Onward.
I stayed at work until 9:30 p.m., got home late, had a late dinner with Masha and Sonya, and turned on yesterday’s movie. We made it to about 11 p.m. and then decided to sleep.