Today, August 1st, I was surprised to see WTF missing the date header over my calendar events. It turns out that when I extended the `dayDivider` function to use a default (epoch) time for considering whether to print a header over the first event (when `prevEvent == nil`), I didn't consider that 1 out of every ~30 days will happen to have the same day of the month as the epoch time. To fix this and make date headers show up on the 1st of the month again, dates are truncated to midnight and compared for equality, rather than just comparing a component of them. I *think* converting times to local time before truncating to midnight is the correct way to do this - otherwise, midnight in one time zone would never equal midnight in another time zone. As it happens, all my meetings take place in San Francisco, so I'm not the best test vector for how this works with meetings/calls in different time zones.
WTF
A personal terminal-based dashboard utility, designed for displaying infrequently-needed, but very important, daily data.
Quick Start
Download and run the latest binary or install from source:
go get -u github.com/senorprogrammer/wtf
cd $GOPATH/src/github.com/senorprogrammer/wtf
make install
make run
Note: WTF is only compatible with Go versions 1.9.2 or later. It currently does not compile with gccgo
.
Documentation
See https://wtfutil.com for the definitive documentation. Here's some short-cuts:
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.
Adding Dependencies
Dependency management in WTF is handled by dep. See that page for installation and usage details.
If the work you're doing requires the addition of a new dependency,
please be sure to use dep
to vendor your dependencies.
Contributors
Thanks goes to these wonderful people:
This project follows the all-contributors specification. Contributions of any kind welcome!
Acknowledgments
The inspiration for WTF
came from Monica Dinculescu's
tiny-care-terminal.
Many thanks to Lendesk for supporting this project by providing time to develop it.