Blog Page 1 of 46 (456 posts) — ArchiveFeed

Blogging is low on the priority list at the moment, thanks to school. The preliminary classes for the master’s degree are going well. I’m writing assembly for my computer systems class, and I have to say, I really like assembly. (No sarcasm.) It’s beautiful and simple in a way I didn’t expect. I don’t see myself using it much, but it’s a good tool for the belt.

Unrelated to school, I’ve been dabbling more with Rust and Go. I’m not a huge fan of Go’s syntax, but I’m going to write a few web services in it — maybe a replacement engine for this blog — and see if my opinion changes. (The goal is to see if single-binary deployment is worth it, as an alternative to Python and Django for small web things.)

Rust, on the other hand, hits a sweet spot for me with general syntax and with language features (pattern matching, particularly). I can easily see myself using it for anything where I would have used C or C++. (And it has more promise than D or Nim.) The plan is still to use Rust when I finally get around to writing Ink and related tools.

(I should probably add that I still plan to keep using Python, though perhaps not as often. We’ll see.)

Oh, one last thing: with Press, I realized a few days ago that it’s a good candidate for the first implementation of Low Ink (a JSON-based page description language that compiles to PDF). I’ll be re-architecting that part of Press so that it uses Low Ink. Also hoping to finish up the text part of Press (HarfBuzz, etc.) soon so that it’s usable for more than just basic drawing. (I’m dealing with font subsetting and encoding stuff at the moment.)

After a break of several months, I’m getting back to working on Press. Status is pretty much the same as last time I posted about it. (It’s actually even a little more behind than that, since I had HarfBuzz Python bindings working then, but now — after upgrading to macOS Sierra — I’m running into issues with PyGObject’s introspection module. I may end up having to write my own HarfBuzz bindings with CFFI. We’ll see.)

The high-level roadmap right now: get font embedding to work correctly, add support for embedding images (which should be fairly easy, I think), integrate ICU for language analysis and HarfBuzz for shaping, and add color space support.

As of now, I plan to use Press for making language charts (which I’ve been using PlotDevice for) and picture books. Once it’s to the point where I can do that, then I’ll start on Ink (low-level typesetting engine, intended for typesetting books, and higher-level rule-based engine for making it easier to work with).

George Saunders in The Braindead Megaphone, of the news but perhaps applicable elsewhere as well:

In surrendering our mass storytelling function to entities whose first priority is profit, we make a dangerous concession: “Tell us,” we say in effect, “as much truth as you can, while still making money.” This is not the same as asking: “Tell us the truth.”

Old and New Testaments in JSON

Scriptures in JSON

The JSON versions of the Old and New Testaments are now available.

Also, I’ve compared all five standard works against the text on LDS.org and have fixed dozens of typos, a list of which you can see in the README changelog. (I had mistakenly assumed that my source text had been corrected, but that doesn’t seem to be the case.) None of the typos were doctrinal in nature — they’re all minor typographical fixes — but I recommend updating nonetheless.

General conference continues to get better the older I get. Clarity and light and revelation in pretty much every talk, not to mention the lovely solidity of it all, the soul-relieving reminder that in spite of all the madness in the world, the Lord still speaks through his prophets.

(I think I’m appreciating conference more now that I’m finally reading the talks regularly throughout the year. Makes a huge difference.)

Updated scriptures in JSON

There are now two new editions of the scriptures in JSON: flat and reference.

The flat edition is a flattened list of verses which makes it easier to iterate through the text for textual analysis and similar applications.

The reference edition structures the text so that it’s easily accessible via key: data['1 Nephi']['3']['7'], for example. (Thanks to Jon Faulkenberry for the recommendation.)

In the repo there are also the two Python scripts that I used to generate the new editions from the base edition.

Old and New Testaments are still forthcoming.

As of a few weeks ago, I’m now planning to apply for the master’s program in computer science at BYU, with a thesis focus in computer graphics (at this point I’m thinking maybe photorealistic rendering). If I do get admitted, I’ll start in January 2018 (I have some background courses to take first because my undergraduate degree wasn’t in computer science) and plan to finish by April 2021.

Anyway, I mention it mainly because things will probably slow down a bit on here for the next four years. I’ll try to keep blogging, but non-CG side projects will mostly be on the back burner till after I’m done.