Published:

Jarle Aase

Monthly update, September, October 2023

bookmark 3 min read

Personal

I took two weeks of vacation in September. My plan was to learn the Rust programming language - but I ended up drinking lots of beer and reading Space Opera novels in stead. That was actually quite nice.

In the last few years I have maintained a long list of computer related books I wanted to read. Unfortunately, I have only read a few of them, and then usually because lack of particular knowledge was a blocker for som project I worked on. Mid October, I changed my days, so that I start the day by studying from whenever I am ready to start, until 10 am in the morning. Then I start working on my projects. So far that has been a success. Reading computer theory 1 - 2 hours before work means that I am focused when I study (I am a morning person), and motivated when I start to work. Then I work for an hour until 11 am, when I have a 30 minutes brunch break. I have not noticed any drop in output after I re-structured my days.

So far I have read "The Rust Programming Language" and "Learning React, 2nd Edition" from beginning to end. Right now I'm re-reading "C++ High Performance - Second Edition". I started reading it on my Android tablet using my Safari Books subscription - but the Safari user experience was so horrible (no code syntax highlighting, all the illustrations was missing) that I bought the Kindle version and is reading that in stead.

Rust

Learning Rust is on my list for what I want to achieve this year. Now that I have read my first book about Rust, I hope I will find time and energy to make a few small applications with it in the next two months.

React

I have been struggling to find a reasonable simple approach for making web UI's for some of my servers for a very long time.

I am not a "front end" developer. I have made plenty of web applications, but all of them have been back-end with little or no use of java-script in the browser. I have also made a few static web site generators, the first one in 1996, the latest in 2017. The last one, stbl creates adaptive websites that works as well on the phone, as on a laptop or PC. It does that with simple CSS styling, without any "help" from stuff like "Bootstrap" & friends.

But in my servers, I want the UI to consume the REST API from the server. I don't want to add a nodejs, php or python back-end application. So I want something that can render a simple UI and call the required API's directly from the browser. The safest bet would probably be HTML5, CSS and jquery. However, that requires a little more learning and coding than I feel comfortable with. I spent some time researching what's out there, inducing a few conversations with Chat GPT. Eventually I read a book about Facebook's React. It seems relatively structured, and even if it is a little bloated, I think it may be the shortest path to my goal. I started to make an experimental UI using React yesterday.

Open source projects

nsblast

Massively scalable DNS server

Nsblast is moving forward. In the last six weeks I have added:

Yahat-cpp

Embedded HTTP server for REST API'S in C++

I'm using this in nsblast.

Added automatic "CORS" handling. This is required for HTTP REST API's that are accessed from web browsers. It's a answer for problems java-script in the browser created for itself - and just like java-script - another reason for massively wasted CPU cycles and energy use.

I really want to get started with Beauty next year. That would give me a really nice, performant HTTP server for all my needs. Now that C++20 is starting to be mostly implemented in the C++ compilers, including modules, I feel like the time is right to move forward.