:date: 2018-03-01 ======================= Thursday, March 1, 2018 ======================= Don't rely on Facebook ====================== I wanted to see a friend on Facebook. But they don't let me. They logged me out "to help make Facebook more secure" and entered the "Security check" procedure which says that a code was sent to my phone number and that I should please enter that code in their web form when it has arrived. Only that this code doesn't arrive. So I clicked on their link `I'm having trouble with this step `__ which explains me "Why do I need to confirm my mobile phone number to get back into my account?" I knew all this and agreed to it, I did confirm my phone number months ago and everything was ok. I guess that they are having a temporary technical problem and that the security check will work as expected after some time. But this is not the first time within a few months that got locked out from Facebook unexpectedly and without any visible reason. Tonis working like an artist ============================ As an employer and team manager I am still at my beginnings, discovering questions like *How to motivate your employees?* or *How to turn their energy into value for the company in an efficient but sustainable way?* Long before Tonis found us, I wrote on our company website: "We believe that writing good software is an *art*, and that software developers should work and get paid like *artists*." And indeed. There are days when Tonis has more urgent things to do than working on Lino. For example giving an interview. Here you can see him with his fiancée Siiri and their daughter Nora in a three minutes portrait recorded by DelfiTV for the EV100 festivities: .. raw:: html (`Siiri Kumari ja Tonis Piip: Eesti-Ameerika segapaar, kes kasvatavad peaministri järeltulijat `_) Nice to watch even without knowing Estonian. Filtering notifications ======================= Mathieu gave feedback ticket :ticket:`2333` and confiirmed my suggestion. So the individual choices of :class:`lino.modlib.notify.MessageTypes` get a new attribute `required_roles`, and :meth:`emit_message ` checks check these against every candidate recipient's `user_type.role`. This was trivial to implement and is a beautiful confirmation for Lino's role-based permission system. Great! It's not finished, though. We now must now reorganize things a bit because assigning the required roles to the message types is now of course more complex. Every plugin can potentially define custom message types, and applications can add custom requirements to existing message types. That's for tomorrow...