Notes Taking Application with Functional Programming
Managing meetings becomes more of a challenge as programs become larger. For the purposes of this post, I am specifically talking about standing meetings - meetings that are repeated at a regular basis, not one-time meetings that pop up on the calendar. Standing meetings can draw a lot of people over time and cause problems. When a larger amount of people go to a meeting, the odds increase that many topics of the meeting do not directly pertain to many in the meeting. When this happens, the meeting is simply distracting people from their “real” work. Similarly, when more people attend meetings, it becomes more difficult to keep the meeting on agenda and not go off on tangents. These are real problems, but there is at least one good reasons standing meetings get large too. People want situational awareness. They want to know what is going on outside of the area that they are directly working in. Situational awareness, having a good view of the big picture, allows people to make decisions that are consistent with the larger goals of the program.
One challenge that I have struggled with over time is how to provide better situational awareness without inviting large amounts of people to a standing meeting. One seemingly simple solution may be a better means of sharing meeting notes and collating actions from those meetings. That’s what the python / html code in this post is an attempt to do. Instead of taking meeting notes in Word, OneNote or Excel, meeting notes are taken in Markdown format in simple text files. The python code, stored here on my github site takes all of the notes for different meetings and collates them into an html page that can be posted internally.
A large aside. I’ve seen more articles recently denigrating object oriented programming as the cause of unpredictable, buggy software and advocating more functional style programming as the solution. Not wanting to be an out-of-date amateur programmer, this project represents my first attempt to understand and implement functional programming. My functions contain no variables. I’ve paid more careful attention to function names - which I’ve found very beneficial.