// blog.post

Textbar: Ben Franklin's Virtues

Ben Franklin's Virtues in the Mac menubar

"In 1726, at the age of 20, Benjamin Franklin created a system to develop his character."

This system was his 13 Virtues; which he practiced throughout his life. I have found that putting this information in OmniFocus feels like task manager clutter as I'm not really acting on the information, it's more of a reminder to myself. I decided I wanted a way of simply seeing the current week's virtue at all times, regardless of what I'm doing on my Mac, along with the virtue's full explanation.

I came up with this script using the app TextBar to put the text in the Mac menubar:

set currentWeek to do shell script "date +%V"

if currentWeek is in {"01", "14", "27", "40"} then
	return "TEMPERANCE
	Eat not to dullness;
	drink not to elevation."
end if

if currentWeek is in {"02", "15", "28", "41"} then
	return "SILENCE
	Speak not but what may
	benefit others or yourself;
	avoid trifling conversation."
end if

if currentWeek is in {"03", "16", "29", "42"} then
	return "HUMILITY
	Imitate Jesus and Socrates."
end if

if currentWeek is in {"04", "17", "30", "43"} then
	return "RESOLUTION
	Resolve to perform what you ought;
	perform without fail what you resolve."
end if

if currentWeek is in {"05", "18", "31", "44"} then
	return "FRUGALITY
	Make no expense but to do good
	to others or yourself;
	i.e., waste nothing."
end if

if currentWeek is in {"06", "19", "32", "45"} then
	return "INDUSTRY
	Lose no time;
	be always employ’d in something useful;
	cut off all unnecessary actions."
end if

if currentWeek is in {"07", "20", "33", "46"} then
	return "SINCERITY
	Use no hurtful deceit;
	think innocently and justly,
	and, if you speak,
	speak accordingly."
end if

if currentWeek is in {"08", "21", "34", "47"} then
	return "JUSTICE
	Wrong none by doing injuries,
	or omitting the benefits that are your duty."
end if

if currentWeek is in {"09", "22", "35", "48"} then
	return "MODERATION
	Avoid extreams;
	forbear resenting injuries so much as you think they deserve."
end if

if currentWeek is in {"10", "23", "36", "49"} then
	return "CLEANLINESS
	Tolerate no uncleanliness in body,
	clothes, or habitation."
end if

if currentWeek is in {"11", "24", "37", "50"} then
	return "TRANQUILLITY
	Be not disturbed at trifles,
	or at accidents common
	or unavoidable."
end if

if currentWeek is in {"12", "25", "38", "51"} then
	return "ORDER
	Let all your things have their places;
	let each part of your business have its time."
end if

if currentWeek is in {"13", "26", "39", "52"} then
	return "CHASTITY
	Rarely use venery but for health or offspring,
	never to dulness,
	weakness,
	or the injury of your own
	or another’s peace or reputation."
end if

Save the script as a file named Ben.scpt in a folder named "scripts" in your home folder, then set the script to osascript $HOME/scripts/Ben.scpt; I also set the refresh interval to 10000 so it's not constantly running the script unnecessarily.

Enjoy!