Published on 30 June 2019.
This is what I’ve been up to in June 2019:
I was inspired to try writing a journal after stumbling across Derek Siver’s blog post Benefits of a daily diary and topic journals. The idea is to write for my future self to help me solve problems by recording my thoughts and reflecting on them.
I read Poke the Box by Seth Godin. My main takeaway was that initiative is scarce, and if you take initiative, you are valuable.
I read Writing A Compiler In Go by Thorsten Ball. It is a topic that interests me. I learned about designing virtual machines.
I learned a technique for parsing offside rule languages with PEG parsers via A PEG Markdown parser. I plan to write a blog post about this technique.
I read Show Your Work! by Austin Kleon. Some takeaways:
An amateur is sometimes better at explaining something than an expert because the amateur has recently encountered it and knows what is hard. An expert has forgotten. Therefore blogging about problems and solutions when I encounter them is useful.
It is useful to share the process of creating something, not just the finished work.
It inspired me to publish draft posts on this blog.
It inspired me to write these monthly newsletters.
I finished writing Optimizing RLMeta. I struggled with grammar and usage (should I use past or present, active or passive, we or I, and so on). I read other articles to try to analyze what they did. But I also came to one important realization: if I find it hard to write, I can read what I’ve written, find something small to fix, and then I’m suddenly writing again. I will keep writing and hopefully keep improving.
I have tried to get into the habit of writing a bit at least every day. Even though some days I produced almost nothing, I kept doing it. Eventually it payed off, but sometimes I felt like I needed a longer session to get something useful done. Often times, short sessions worked as well. One thing that helped me continue was to take a note at the end of a session what to proceed with.
I read parts of Beautiful Racket. Racket is a programming language designed for language-oriented programming. I have for a long time felt that this is a better way to program, but never fully put it into practice. I even started writing a book about it. I intend to continue pursuing this way of programming with the help of RLMeta. I will most likely return to Beautiful Racket.
I read 4-Hour Work Week by Timothy Ferris. Some takeaways:
Unrealistic goals as easier to achieve because the competition is not as fierce.
80/20 rule. I can stop doing 80% of what I’m doing and still perform as well.
Batching work is sometimes more effective. Limit Twitter/Email/etc to once/twice a day to not be bothered with it the rest of the time.
If I did not have to work for money, what would I do? If this is the last day of my life, would I do what I’m doing?
First, “expert” in the context of selling product means that you know more about the topic than the purchaser. No more.
I watched (sixth RacketCon): Matthew Butterick – The Making of “Beautiful Racket”. My main takeaway was that a DSL has two parts: the domain and the programming language. And the most important part is the domain. In order to create a good DLS you need to have much knowledge about the domain.
I watched Arnold Schwarzenegger 2019 - The speech that broke the internet - Motivational & Inspiring. In it he says that you should work hard and advertise. This felt similar to Austin Kleon’s advice that you should show your work.
I watched Typography for Docs. This is also by Matthew Butterick. I like this talk as well. It inspired me to try to improve typography on my blog. We’ll see if I get around to it.
I read Uniform Structured Syntax, Metaprogramming and Run-time Compilation. My main takeaway was that compilation happens at runtime. Just in time. Therefore the compiler must be shipped with the runtime. Common Lisp has hooks for different times during compilation: reader macro, macro, etc.
Site proudly generated by Hakyll.