Tag: apps

Apps I like: Merlin Bird ID

One way I know I’m getting old? It’s not the mysterious knee pain (self-inflicted, if we’re being honest). It’s when I download a bird identification app with multiple gigabytes of data and get excited about it.

I’m not joking! Recently, I excitedly told my wife, “ohhh, there’s a house finch in the backyard.” She gave me a savage eye roll that’s usually reserved for the best of my dad jokes.

But hear me out: Merlin Bird ID is actually ridiculously cool!

The app, made by the Cornell Lab of Ornithology, has a sound ID feature that’s basically Shazam for birds. You hit record, point your phone vaguely skyward, and it tells you exactly what’s making noise around you in real time! It’s pretty neat to watch the spectrogram light up as different birds chime in, each one getting identified and added to your list.

I had no idea that we had more than a dozen species of birds just chit chatting out back: we’re talking Black Phoebes, Dark-eyed Juncos, House Finches, White-throated Sparrows, Golden-crowned Sparrows, Yellow-rumped Warblers, California Scrub-jays. Oh, and fucking crows.

The app is completely free and works offline once you download your region’s bird pack (like I mentioned earlier — this takes up gigabytes of data), and now I’m that person who stops mid-conversation because “oh wait, do you hear that? That’s a Chestnut-backed Chickadee!”

My kids think I’ve lost it. My wife is questioning everything about me. Benson is confused why our walks now involve me holding my phone in the air like I’m trying to find cell service.

But whatever, I can now identify the difference between an American Crow and a Common Raven! And let me tell you, there is a distinct difference.

Automating daily standup notes through Alfred, a Bash script and Obsidian

One of my absolute must-download apps whenever I setup a new MacOS machine is Alfred. It’s a customizable app launcher that helps me more efficiently use my computer. I frequently use its many features, from clipboard history and snippets management, to downloading workflows to quickly find my IP address, or even writing my own plugins.

Each morning at work, we kick off the day with our daily stand-up meeting — a quick way for us to let our teammates know what we did yesterday, what we’re doing today and any blockers we’re encountering.

I use Obsidian (see previously) to write these notes. Traditionally, creating a daily note is kind of an annoying process for me:

  1. Open Obsidian
  2. Right click on my “DSUs” folder
  3. Create a new note based on my “daily stand-up” template
  4. Replace the place holder text with today
  5. Start typing my notes

There has to be a better way.

*Cue suspenseful music*

There is!

We can utilize Alfred’s nifty keyword action. I will trigger the action using the keyword “dsu“. From there, we will run a bash script (thank you, ChatGPT) which will do a few things:

  1. Check if a file with today’s date already exists. If so, open it! (Because we probably want to reference it or update it.
  2. If it doesn’t exist, create a new markdown file with the following format: YYYY-MM-DD.md
  3. Update the file contents to match (my) specific / preferred layout for the DSU notes
  4. Open it.
Bash
# Get the current year dynamically
CURRENT_YEAR=$(date +"%Y")

# Define the base directory
BASE_DIR="/Users/daves/Documents/Obsidian/Standup Meeting Notes"

# Target directory for the current year
TARGET_DIR="${BASE_DIR}/${CURRENT_YEAR}/"

# Create the directory for the current year if it doesn't exist
mkdir -p "$TARGET_DIR"

# Get the current date in the required format
CURRENT_DATE=$(date +"%Y-%m-%d %A")
FILENAME="${CURRENT_DATE} Standup.md"

# Full path for the new Markdown file
FILE_PATH="${TARGET_DIR}${FILENAME}"

# Check if the file already exists
if [ -f "$FILE_PATH" ]; then
    echo "File already exists: $FILE_PATH"
else
    # Create the new Markdown file and populate it with the template
    cat <<EOF > "$FILE_PATH"
Y:
Y:
T:
T:
B: None

---
## Action Items

-

---
## Summary

-

---
## Tags

#standup

<!-- ${CURRENT_DATE} -->
EOF

    echo "Created: $FILE_PATH"
fi

# Open the file in Sublime Text
/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl "$FILE_PATH"

When we run that script via the Alfred action, it looks like this:

Sweet!

(One thing to note: I open the file with Sublime here, but since it still creates the file in my Obsidian directory, all my notes are still synced.)

Using Obsidian Notes as a ‘Second Brain’

Recently, I’ve been digging into ways to better organize my notes, links, and other digital detritus. There’s a lot of it and it’s all over the place!

I stumbled upon a concept called the “second brain” after reading a discussion on Hacker News. Essentially, it’s a way to better organize your digital life, so that you can easily store (and look up) information.

Essentially, a second brain is a personal knowledge management system that serves as an extension of your mind so you don’t have to think as hard or remember as much. You offload thinking and remembering to your private second brain.

Like Sherlock Holmes’ “mind palace”, it’s a place to store all of your lingering thoughts and curate the information you consume on a daily basis from books, the Internet and other sources so that you don’t get overwhelmed with unnecessary info and take action with the knowledge that matters.

Sign me up!

One of the interesting tools that someone in the Hacker News thread mentioned was an app called Obsidian.

Obsidian

I’ve been playing around with it recently and am cautiously optimistic. It has apps for MacOS, iOS (…and other systems, if you’re of that persuasion).

Plus, no vendor lock in! It’s all Markdown files stored on your local devices (and using your preferred cloud storage service).