My name is Daniel Bank. I am a software engineer with a background in physics. My primary interests are mobile and web development, as well as automation. My hobbies include traveling, scuba diving, playing music, writing, learning about mythology and history, and playing games.
This is Mr. Tomimatsu Ishikawa (2/28/1918 – 7/17/2013), WW2 veteran, fighter for soldier’s rights, and scuba diver. He served on a fleet oiler, the Irō, during the war and was one of the few survivors when she was sunk by an American air raid as part of Operation Desecrate One. In his later life, he advocated for the Japanese government to properly recognize and inter the remains of his comrades who had died aboard the Irō. On March 30, 2004, at the age of 86 years old, Mr. Ishikawa dove 90 feet to the ship’s wreck and performed a memorial ceremony for his friends. Partly, the reason for this dive was personal. He wanted to pay respect to his friends. The other reason for the dive was to generate media attention and broader awareness about the situation of the Irō.
The guide who helped him complete his mission was my friend Yoko Higashide. She was very close to Mr. Ishikawa and regarded him as a grandfather. Before her meeting Mr. Ishikawa, Yoko had limited knowledge about the shipwrecks of Palau. She had worked there as a dive guide for two years without knowing that there were any shipwrecks. It was only when she started working at Fish ‘n’ Fins, an international dive shop, that Yoko started to know about the WW2 history of Palau. Even as she would lead dives to the wrecks, she always felt bad to be diving on them. In her words, “It’s like we are playing at a graveyard”.
In the summer of 2007, I had the privilege to go diving in Palau. One of the dives I went on was the Irō. It was not the first time I had been there, but this time was different because my guide was Yoko. She explained to me about the ship’s history and told me Mr. Ishikawa’s story. I was inspired by his determination to return to the Irō, even though it was deep and he was 86 years old. I asked Yoko if she could help me write a letter in Japanese to Mr. Ishikawa. I wanted to let him know that I was an American who was moved by his mission to pay respect to his fallen comrades. You can see my letter to him at the bottom of this blog post. To my surprise, he wrote me back a long letter. Although I mailed him again in 2009, that was the end of our correspondence. For me, though, the one letter was enough. Our lives were connected from then on.
Now, when I dive on war wrecks I am reflective of the human suffering that led the ships to be where they are. So I do not consider wreck diving to be a leisurely activity like diving on a reef. It is a somber activity like visiting a graveyard or the site of an old battle. It is important to go there to remember our history. Regarding my experience of writing a letter to Mr. Ishikawa, I think it is a truly great thing that even though Japan and the USA fought bitterly within his lifetime, he still lived to see the day when Yoko and I could be friends and enjoy scuba diving together. I hope that I can always be a peaceful person and make him smile down from heaven.
Please read Mr. Ishikawa’s story by Yoko. It is the second link in the Related Media below.
Beer Golf is a game played with ping pong balls, plastic cups, and beer. It is played by my friends and I as an alternative to Beer Pong, another popular drinking game that we all enjoy playing. With Beer Golf, your entire household becomes a golf course where each “hole” is an opportunity to drink.
A plastic cup
Ping pong balls for all players
A permanent ink marker
Plenty of beer
Number of Players:
Two or more people*
* Update: My friend assures me that the maximum number of players is four. Not being a golfer, I was unaware of this Pace of Play rule.
Use the permanent ink marker to mark everyone’s ping pong ball with a name or symbol so it can be distinguished.
Fill the plastic cup with beer and choose a starting location for it somewhere in the house.
Choose the starting location for players.
Choose a par for the cup. The par shouldn’t be too hard or too easy. More on this later.
Each player takes turns throwing their ball towards the plastic cup. Both the player’s feet must be behind the resting place of their ball. The player is allowed to lean forward. The player is allowed to leap and take jump shots so long as they do not step over the line. The player is not allowed to brace themselves on furniture or other objects.
As with golf, the person who is the furthest away from the cup shoots.
The person who wins the cup gets to decide the cup location and par for the next cup. Players start shooting from the location of the previous cup.
The player with the most shots to complete the cup has to drink the beer in the cup.
If the player who decided the cup location and par shoots above that par, they automatically lose the cup and have to drink the beer in the cup. This prevents people from choosing ridiculous hard cup.
Everyone who shoots below par gets to assign drinks to other players. They can assign as many drinks as how far below par they were. This prevents people from choosing ridiculously easy cups.
Everyone has to have a beer in their hand at all times. Rule breakers have to drink. The only exception to this rule is if you are playing with the Caddy Rule.
If there aren’t enough balls for everyone who wants to play, you can play with the Caddy Rule. Essentially the loser of the previous cup has to be the caddy for the winner (and is no longer an active player on the next cup). They are required to hold the beer for the player, fill the cup with beer and place it at the chosen starting location, offer advice to the player, and compliment the player when they make a good shot.
I try to use words to encompass meaning. To better describe, I use more words. Sometimes I try to find the one word that would encompass all meaning. What would that word be? OM? Maybe, if I was a Hindu. So here we are again, describing the same uncertainty that a relativist view will always but unfortunately lead to. Yet here in the hopelessness of the problem, perhaps there is an answer. Not so much a “truth” that I can know is right. This answer is a different, more euphoric answer. I know it not. But as I reflect on it, I smile and I write. The moment will be fleeting. For as each blog post begins, surely it ends. My euphoria just like my pain; only temporary. But if I really knew this, I would know a “truth”. And as I said, I bear no truths… only an answer.
First a little background on the problem I needed to solve. I use the Google Calendar extensively. In addition to the regular events I put on my calendar (lunch with friends, doctor appointment, anniversary), I also put reminders for tasks that need to get done. I realize that Google already has a Tasks list for this very purpose. Call me crazy but I find it easier to whip out the Calendar app on my phone and insert a new event. The only problem is that I also procrastinate. Weeks will go by and the task’s calendar event is still languishing on my Calendar. At the end of every month, I have to clean up my Calendar and decide which tasks are actually important or not. The ones that are all have to be moved to the next month.
Enter my new Google Apps Script, Calendoo. Calendoo looks at yesterday’s calendar events and either advances them into the future, if they’re important, or moves them off the Calendar and into a Tasks list (called TasksFreezer), if they are unwanted. In order for Calendoo to recognize which events belong where, you simply add a Calendoo symbol in the name of your calendar event. The Calendoo symbols are as follows:
:. (colon period) = Unimportant event, advance yesterday’s unimportant events to next month.
:! (colon exclamation-point) = Important event, advance yesterday’s important events to today.
:? (colon question-mark) = Semi-important event, advance yesterday’s semi-important events to next week.
:- (colon dash) = Unwanted event, take it off the calendar and put it in the TasksFreezer Tasks list.
:+ (colon plus) = Wanted task, take it off the TasksFreezer Tasks list and put it on the calendar today at noon.
If you want to use the Calendoo script, read on for an explanation of how to set it up.
1. Import the script into your own Google Drive
Click on the link at the bottom of this blog post. The Google Apps Script IDE page should open up showing the Calendoo code. Click the [File] menu and choose [Make a copy]. The Calendoo script should be downloaded to your own Google Drive. Access it by going to drive.google.com. The Calendoo script file should be in your root folder. Click on it to open it. At this point, you may have to go through a wizard for installing Google Apps Scripts in Google Drive if this is your first time using them. The Google Apps Script IDE should open again, this time with the Calendoo script installed in your own Google Drive.
2. Set up APIs and Permissions for the script
Next, click on the [Resources] menu and choose [Advanced Google services]. An Advanced Google services dialog will appear. Next to Tasks API, click the radio button to turn it on. This allows the code to access Tasks API functionality (used for managing Task lists in your calendar).
Now you will need to enable the services. Click the [Google Developers Console] link at the bottom of the dialog. The Google Developer Console website should open. In the list of APIs, click the radio buttons next to Calendar API and TasksAPI to turn these services on. Now close the Google Developers Console page and the Advanced Google services dialog.
Back in the Google Apps Script IDE, we need to run a function in the Calendoo script so it can request permissions from you the user (yes, this step is a little strange, I know). Click on the [Run] menu and choose the [processEvents] function. A dialog will appear saying, “This app would like to: manage your calendars, manage yours tasks, view your tasks”. Accept the dialog and it will close. The Calendoo app is ready for action, we just need to pull the trigger.
3. Set up a trigger for the script
To create a trigger to run the script periodically, click on the [Resources] menu and choose [Current project’s triggers]. A dialog will appear with a link, “No triggers set up. Click here to add one now”. Click on that link. The dialog will now show the options for our new trigger.
Choose to run the processEvents function. This is the main function that drives the entire Calendoo script. Make the event Time-driven and set it to run everyday at Midnight to 1am. This will cause the processEvents function to be executed everyday at midnight, pushing yesterday’s events forward. Click Save. The Calendoo script is now completely configured for your Google account. Hurrah!