This week I've been learning a lot about PDF file format internals, which are a staggeringly complex mix of brilliant and totally boneheaded. The annotations spec alone is more complexity than the whole document format ought to be. I'm working on one PDF parser in C and writing another one in Python to facilitate easier exploration and prototyping. This has led me to think a lot about the serialization/deserialization problem and the closely allied schema upgrade/downgrade problem. Maybe some of the resulting ideas will yield something useful. We'll see.

For that PDF parser I wrote a Packrat parsing engine, which I think might end up as a useful way to explore some of the possible optimizations that could be applied to Packrat to reduce its dismaying constant factors in both memory and time. So I've been learning a lot about Packrat too.

I've been learning about the Imp language, which is a sort of followup to Eve, and it has a lot of really interesting concepts in it. But I wouldn't say I'm "learning Imp" yet.

This weekend I learned to use an old Arduino with Sigrok as a logic analyzer and get Sigrok to decode the PS/2 keyboard protocol.

I've been learning about the history of political philosophy and social movements, much of which is very unsavory.

I've been learning about economics and current events. Did you know that China now produces more than half the world's cement? Or that their electrical power generation has doubled over the last decade? Or that in tropical and subtropical countries photovoltaic power plants are not only cheaper than building coal or nuclear plants, they're cheaper than keeping existing ones running? Or that the Federal Reserve permanently stopped publishing M2 monetary supply data in February, after updating it monthly for 41 years?

Last night I melted glass with a torch for the first time, but I don't think I can reasonably say I'm "learning glassblowing" yet. I didn't cool it slowly enough and it cracked as it cooled. I did learn vermiculite will stick to glass if the glass is soft enough for long enough.

This month I learned about Melisa Orta Martinez's brilliantly simple "Haplink" design for a two-degree-of-freedom mechanical actuator and encoder, originally designed for haptic user interface research, but in my view much more broadly applicable.

I've been learning about planetary roller screws, which with modern advanced digital fabrication technology could plausibly replace a lot of existing linear actuators with significant improvements in precision and achievable reduction ratios. Also I think you can use them as a worm gear to get these benefits and more for rotary motion. I haven't built one yet.

I've been learning about the RISC-V instruction set and some of the issues that go into designing and implementing such a thing. But I haven't written a RISC-V simulator yet.

I've been learning about exotic mineral cements like "geopolymers", aluminum borate, and aluminum phosphate, which can be precipitated hydrothermally as well as with high-temperature reactions. But I haven't synthesized them yet, just calcium phosphate.

I've been folding origami from strange materials. Aluminum foil, aluminum window screen, corrugated cardboard (must precompress your crease pattern), aluminum cans, plastic coke bottle walls.

I've been learning how to keep my potted plants alive and deal with insect pests.

I've been learning more about abstract algebra (the conventional kind, with rings, lattices, and semigroups, not category theory) and how it relates to algorithm design.

I've been learning about food-product rheology, and how thixotropic flow isn't quite the same thing I thought it was, nor is it caused by the same causes. Thixotropy is super important for digital fabrication.

I've been reading about filled polymer systems, especially the kinds of surface treatments used to adjust the adhesion between the matrix and the fillers. I wouldn't say I'm learning it yet because I haven't been able to get much of anything to work. But I will, if I can stay alive a bit longer.

I'm learning how widespread outright fraud is on MercadoLibre. The last thing I bought there was a "1600x1200" USB microscope which turned out to be 640x480 (from DUAITEK). I also got a "600 watt" immersion blender that turned out to be 300 watts. I'd like to take "Origins of Persistent National Poverty" for $800, Alex.

I'm learning that HN doesn't value people like me, and I'd be better off spending my time elsewhere.