Published on 31 July 2019.
This is what I’ve been up to in July 2019:
I continued work on the RLMeta VM post.
I watched Steal Like An Artist: Austin Kleon at TEDxKC. Main takeway was that every work is a mashup. Steal from others and show your mashup so that we can steal from you.
I reread parts of The Art of Explanation by Lee LeFever. He presents a way to explain things so that people understand. I will try to be inspired by this way when writing.
I thought about converting all posts on this site to “blog posts” and putting them under
rickardlindberg.me/blog/ and using tags for categories. Then allowing tags to also have explanations. Not sure if this structure is better or not.
I read parts of Hackers and Painters by Paul Graham. A few quotes that I liked:
Programming languages are what programmers think in. Naturally, this has a big effect on the kind of thoughts they have.
I fully agree with this, and this is one of the reasons I want to learn more about language design so that I can design ideal languages for problems.
After a certain age, programmers rarely switch languages voluntarily. Whatever language people happen to be used to, they tend to consider just good enough.
I don’t want to get stuck in a language. How can I avoid it?
I watched How to Start a Business or Podcast From Scratch | Tim Ferriss. Main takeway was that it is easier to create a new category by finding a niche market to fill. Filling demand (in a new category) is easier than creating demand (in an existing category).
I started reading The 22 Immutable Laws of Marketing by Al Ries because it was recommended by Tim in the above video. Some quotes:
The easy answer is to make sure your programs are in tune with the laws of marketing.
There are laws of nature, so why shouldn’t there be laws of marketing? You can build a great-looking airplane, but it’s not going to get off the ground unless it adheres to the laws of physics, especially the law of gravity. You can build an architectural masterpiece on a sand dune, but the first hurricane will undermine your creation. So it follows that you can build a brilliant marketing program only to have one of the immutable laws knock you flat if you don’t know what they are.
I read about an incremental approach to compiler construction here, here, and here. The incremental approach starts with a small language (just integers) and builds upon that. At each stage, there is a working compiler. I want to explore this approach more. Can such a compiler be written with RLMeta?
I write articles about RLMeta in a literate programming style. Sometimes I think: Why is all this text needed? The code speaks for itself, right? Probably it doesn’t, but it is interesting to try to find the right balance.
I read PEG Parsers by Guido van Rossum. He is experimenting with replacing Python’s parser with a PEG-version.
I found Rascal - Metaprogramming Language. I want to read more about it, but here is a good summary:
You want to use the best tool for the job when analyzing, transforming or generating source code, so normally you will end up with many different tools, possibly even written in different languages. Now the problem is to integrate these tools again. Rascal solves this problem by integrating source code analysis, transformation, and generation primitives on the language level. Use it for any kind of metaprogramming task: to construct parsers for programming languages, to analyze and transform source code, or to define new DSLs with full IDE support.
I read The forgotten software that inspired our modern world. A quote I liked:
But even more than that, HyperCard didn’t compromise between the easily usable and the creatively powerful.
Something in that reminds me of what Alan Kay said. Something about simplifying but not dumbing down when teaching children.
I read The Inverted Pyramid of Blogging Income: How Pro Bloggers Make Money. Main takeaway was that if you want to make money blogging, you should convert readers into customers and you must therefore also have another product to sell.
Site proudly generated by Hakyll.