Paid for by patrons
Productive Period 20

Hey, don't worry, I am still alive - it's a good thing I've re-branded my productive weeks to productive period.  Nine months isn't really a week...

Soo, let me talk about the past nine months and why I didn't really do ... anything.  This is probably going to be long (I'm writing those as a stream-of-conciousness thing, so I don't know at this point).

My last productive period ended in February.  Quickly after that, .dev domains become available so I bought https://jonathanmueller.dev/ to serve as a CV-site of course.  Because jekyll, the default website generator for GitHub pages has become slow, I've tried Hugo for the new site.  This was a success: Hugo is significantly more powerful and really fast.  All the themes I've looked at included a lot of CSS and Javascript, which I didn't really understand, so I wrote one myself.  This meant I had to learn CSS, but the end result is definitely worth it: my site looks amazing, and loads really fast!

So, naturally, I wanted to port my blog over to Hugo as well.  Because it didn't make sense to write a new blog post in the old design, I couldn't blog until the new design was complete.  And because of my unwritten "one blog post per productive period" rule, I couldn't declare a productive period.  April came and at that point I had a half-completed blog design.  However, I've started writing my bachelor thesis, where I investigated some modifications to fluid simulation algorithms.  I already played with fluid simulation in the previous semester, and the project requires C++ and physics skilled, which made me a perfect fit.  Unfortunately, this took up a lot of time, so in my spare time I wanted to do things that are fun, and not work on my blog design...  This blocked my blogging and thus ultimately my productive periods, so yeah.

What made fun was working on my tokenizer library, foonathan/lex, and extending it with parsing support.  I have ended up with something that works (you can check the calculator example if you're curious) and also implemented my version of compile-time regular expressions (albeit not with the string syntax like Hana did).  While writing that, I've discovered a cleaner design, so at the moment I am redesigning the library.  This is a really fun meta-programming challenge which will probably be the topic of a C++Now talk in spring.  More about that in the next productive periods.

In July, the C++ standardization committee met in Cologne, which is close to Aachen.  So naturally, I went there.  It was a really cool experience, even though (or maybe because) I spent most of my time in the library evolution working group bikeshedding names.  Currently, there is a meeting in Belfast, which I don't attend, but I might go to the next one in Prague again.

I had my thesis almost completed in September and went to CppCon, where I gave a talk about the C++20 spaceship operator.  The talk went well, but the conference is just way tooo big for my taste.  I will probably use my endurance of long flights to go to C++Now only, which I unfortunately couldn't make this year.  If you haven't seen my talk, I will also give it at Meeting C++ next week.

After CppCon I handed in my thesis and I am now officially done with my computer science bachelor!  I still don't know my grades, but my examiner offered me a job, so it probably went well.  Currently, I am studying physics full-time, I plan on making my masters degree next year.  I thought this meant I have more time know, but the physics exercises are really hard...

Still, I've managed to finish my new blog design for foonathan.net and wrote a blog post to declare this productive period!  You might not like the topic however, it is a post-mortem for standardese: https://foonathan.net/2019/11/standardese-post-mortem/ Yeah, I am not really motivated to work on it, and there are problems, details there.  However, I have transferred ownership to an organization and the new maintainers have already created a new release.  If you only support me because of standardese, feel free to stop doing that, I understand.

As explained in the blog post, I have created fancy status labels for my projects to indicate the maintenance status.  Of my big three "maintenance-only" projects, I have done a lot of fixes for memory and type_safe.  memory even has a new release for the bugfixes accumulated in the past two years, check it out.  

The focus for the next productive period is working on cppast and fixing outstanding issues there, as well as creating a new release.  This is the boring "work" part I am not really a fan of.  The "fun" part is my new parsing library, and finishing the backlog of blog posts!  But for now, I have to revise my talk for Meeting C++ next week.

Note that I've updated my goals, because the standardese goals don't really apply anymore.  Now I'm saving to regularly go to standardization meetings.

Thank you for sticking with me through all that, and I'll promise the next productive period is in November as well!

Jonathan



By becoming a patron, you'll instantly unlock access to 22 exclusive posts
22
Writings
By becoming a patron, you'll instantly unlock access to 22 exclusive posts
22
Writings