Mon May 14 09:17:20 EDT 2018 Slept from ten to seven. High of seventy today. Thunderstorms. Work: - Add spamlogd to OpenBSD smarthost notes Done. We may want to add the following rule to `pf.conf` on the smarthost: pass out log on egress proto tcp to any port smtp Logging outbound SMTP will let spamlogd whitelist servers _to which_ we send mail. Ten-minute walk at lunch. Home: - Install Signal Done. Short walk after work. I installed the Signal messaging app. It's nice. I appreciate the linked desktop app (available for Linux). https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code 1. Avoid complex flow constructs, such as goto and recursion. 2. All loops must have fixed bounds. This prevents runaway code. 3. Avoid heap memory allocation. 4. Restrict functions to a single printed page. 5. Use a minimum of two runtime assertions per function. 6. Restrict the scope of data to the smallest possible. 7. Check the return value of all non-void functions, or cast to void to indicate the return value is useless. 8. Use the preprocessor sparingly. 9. Limit pointer use to a single dereference, and do not use function pointers. 10. Compile with all possible warnings active; all warnings should then be addressed before release of the software. https://groups.google.com/forum/#!msg/alt.folklore.computers/IdFAN6HPw3k/Ci5BfN8i26AJ > I created Finger around 1971 to meet a local need at the Stanford Artifical Intelligence Lab. People generally worked long hours there, often with unpredictable schedules. When you wanted to meet with some group, it was important to know who was there and when the others would likely reappear. It also was important to be able to locate potential volleyball players when you wanted to play, Chinese food freaks when you wanted to eat, and antisocial computer users when it appeared that something strange was happening on the system. > > The only tool then available for seeing who was running on our DEC-10 computer was a WHO program that showed IDs and terminal line numbers for people who were logged in. There was no information available on people who were not logged in. I frequently saw people running their fingers down the WHO display saying things like "There's Don and that's Pattie but I don't know when Tom was last seen." or "Who in hell is VVK and where does line 63 go?" > > I wrote Finger and developed the supporting database to provide this information in traditional human terms -- real names and places. Because I preferred to talk face to face rather than through the computer or telephone, I put in the feature that tells how long the terminal had been idle, so that I could assess the likelihood that I would find them there if I walked down the hall. Lunch: coffee, grilled cheese, coleslaw Dinner: pizza