Recent Wildlife

Updated on Sunday, May 3, 2020

Recent Wildlife

Recent Wildlife

Recent Wildlife

Recent Wildlife

Recent Wildlife

Recent Wildlife

Recent Wildlife

Black bear cub, red legged frog, deer, lizard #10, young salmon, elk and a random crab.

2017 Total Solar Eclipse from Madras, OR

Updated on Thursday, August 31, 2017

Total solar eclipse composite shot from Madras, Oregon for the 2017 eclipse.

Edited highlights from the 2017 total solar eclipse shot from Madras, Oregon.

360 spherical video of totality. This is best in a virtual reality headset.



The three timelapse videos edited into the version at the top of the page. The first one was shot on a GoPro. The second is from a Sony RX100V with an ND5 filter and the third is the Sony timelapse processed to keep the sun at the center of the frame.

(Previously)

Stars from Pine Mountain Lake

Stars from Pine Mountain Lake

Timelapse of sunset and then stars shot over several nights at Pine Mountain Lake in Groveland, CA.

Why Microsoft is Likely Doomed Based on one Email Folder

Close up of the useless Junk folder in Microsoft Outlook

When you get a piece of spam in Outlook you move it to Junk or block the sender. And then, even if that junk mail is marked as read, the Junk folder has a BOLD MESSAGE COUNT. It's the only folder that does this. I cannot do any other work while I have a bold message count and so I have to switch to the Junk folder and delete the message to get rid of it.

Regular email: read, file, done.

Junk email: recognize as spam, click block sender, confirm that I really want to block the sender, switch to Junk folder, mark as read, delete.

Something is really wrong with this workflow. It's a lens through which you can view the ultimate demise of the company. Sure, Office isn't going away soon and Azure is growing like crazy and SQL Server runs on Linux. But somewhere in Redmond 5,000 people designed a Junk email folder that is the MOST IMPORTANT folder in Outlook. The rest were presumably too busy making Windows Update worse to stop this.

My Google experience is that I really don't get much spam. The spam that I do get is hidden from me unless I actually need to rifle through it for some reason. On the occasion I actually get legitimate junk I just flag it as such and never have to touch it or it's ilk again.

Bay Snaps

Golden Gate Bridge

Alcatraz through Spray

Stars over Lake Tahoe

Updated on Wednesday, August 16, 2017

Timelapse of stars over Lake Tahoe, California

4K timelapse of stars and the Milky Way over Lake Tahoe, California.

Email Alerts for new Referers in Google Analytics using Apps Script

Updated on Sunday, September 30, 2018

Referral Traffic in Google Analytics

It's useful to know when you have a new website referrer. Google Analytics is plagued with spam referral and you want to filter this out of reporting as quickly as possible to stop it from skewing your data. It's also helpful to be able to respond quickly to new referral traffic - maybe leave a comment or promote the new link on social media.

The script below will send you a daily email with links to any new referrers.

Start a new apps script project in Google Drive and paste in the code. At the top enter the view ID that you want to monitor and the email address that should receive reports.

Choose Advanced Google Services from the Resources menu and switch on the Google Analytics API. Then click the Google API Console link and enable the Google Analytics API there as well.

Finally pick Current project's triggers from the Edit menu and trigger the main function daily at a convenient time.

This script saves known referrers in script properties. For a site with lots of traffic this may run out of space in which case you might need to switch this out and write known referrers to a sheet instead.

Reading and Writing Office 365 Excel from a Console app using the Microsoft.Graph C# Client API

Updated on Sunday, September 30, 2018

I needed a console app that reads some inputs from an online Excel workbook, does some processing and then writes back the results to a different worksheet. Because I enjoy pain I decided to use the thinly documented new Microsoft.Graph client library. The sample code below assumes that you have a work or education Office 365 subscription.

Paste the code into a new console project and then follow the instructions at the top to add the necessary NuGet packages. You'll also need to register an application at https://portal.azure.com/. You want a Native application and you'll need the Application ID and the redirect URL (just make up some non-routable URL for this). Under Required Permissions for the app you should add read and write files delegated permissions for the Microsoft Graph API.

Hope this saves you a few hours. Comment below if you need a more detailed explanation for any of the above.

Point Reyes Deer

A deer at Point Reyes

A deer on a treacherous cliff-top path at Point Reyes.

Host change

Updated on Wednesday, June 28, 2017

I'm switching hosts so there will be various DNS changes and some downtime today.