That is not quite the whole story. They are making it available for anyone in Oslo, at least. [1]
I live in Oslo and have an appointment to get a booster tomorrow. I have multiple friends and family members in the healthcare sector, and they are all warning me that we are likely to see a significant spike in the winter. At the same time we are seeing more and more sign that each repeated infection has increased risks. [2]
I have had a love-hate relationship with YouTube for a long time. On the one hand, many channels put out great content that I want to watch. But the recommended videos feature is exceptional at hooking into my reptilian brain and getting me to waste a lot of time on junk that I later regret as a big waste of time.
I looked into a lot of alternative clients, including FreeTube, in an attempt to solve this. I use Tube Archivist[1], an open-source project that allows you to subscribe to and auto-download YouTube channels and playlists or download individual videos and watch them in a minimal web interface. It works fine on iOS as long as you set it up to download in an iOS-compatible format. I currently have it running in a Docker container on my Synology NAS.
The problem with quaternions for optimizations is that they are over-constrained. Meaning the norm of the 4 values must sum to 1 for it to be a valid 3D rotation. So you need to ether penalize a rotation with a norm different from 1 or constantly remap the quaternion back to a valid one in each iteration of the optimization. Neither solutions is very elegant.
A 3 valued so3 lie algebra vector is however always a valid 3D rotation, no matter what the values are. That makes it an ideal parameterization of the optimization problem.
The mapping from so3 lie algebra to SO3 lie group (which could be represented as a rotation matrix or quaternion) is a smooth differentiable function, which allows us to compute the jacobian we need for the gradient in the optimization.
Lie theory is, among other things, a very elegant way to parameterize an energy function involving rotations in 3D space. For example the translation and rotation of multiple camera frames that observe the same set of 3D points. This is the basis of how Visual Odometry, SLAM or 3D reconstruction problems are solved.
There are other cool things like representing a probability distribution over a 3D rotation with an multivariate gaussian vector interpreted as a so3 or se3 vector. Using this you can for implement a very elegant extended kalman filter estimating a 3D rotation. Which usually can be a tricky thing to do.
In robotics we pretty much only use the SO3, SE3 and SIM3 groups so my knowledge is limited to those groups.
Probably Lie Theory, or at least the small subset of it that is relevant for robotics.
It has taken me a long time and a lot of work to understand it to the level I have, and I still have a lot more to learn. But it is a fascinating subject and a very elegant way to represent some very complex optimization problems.
It is way to hard and complex to do 2D and 3D visualization in C++. Toucan is my attempt to solve that. It can be called from anywhere with minimal code and gives you interactive 2D and 3D visualization.
I work in robotics and have for a long time been frustrated with how hard it is to visualize data in C++. I created Toucan to try to solve that. The project is still in a very early stage but has already started to become a useful tool.
The API still needs work but it’s getting there. Toucan can be called from anywhere in your code, and runs in its own thread to always remain interactive and responsive.
One of the C++ project that have influence my programming the most recently, which is to move to a style that is something between C and C++, is Dear ImGUI: https://github.com/ocornut/imgui
The experience is very close. Much more so than with an iPad and Apple Pencil.
I guess what I love about it is that in many ways combines the best of both physical and digital writing. It feels very much like writing with a real piece of paper, and it does not have any distracting apps like social media or a web browser. It also brings the benefits of being a digital device, in that you can edit things after the fact. Such as rearranging pages. Selecting portion of a text or drawing and then move it within the page, or to another page. Do copy and paste, and things like that.
I have for along time carried around notebooks for note taking and journaling, because I felt the process of handwriting improve my experience of organizing my thoughts. But it was cumbersome and I ended up carrying multiple notebooks for different purposes.
Since I got the reMarkable 2 tablet it has replaced all my notebooks while retaining all the benefits of handwriting. With the added bonus of much easier organizing, backup and being able to view the notes on other devices.