How to use Google Keep for Quick Capture with Obsidian

Problem

While I use 1 Obsidian to capture everything while I’m at the desktop, it gets tricky when I’m away from the Desktop. Especially during my morning walk, I listen to Audiobook, and want to capture either a quote or some of my own related thoughts. 2

Solution

Today, I came across a YouTube Video 3 which addresses this issue.

Zsolt goes on to explain how see sought suggestions on Twitter 4

Important components of his solution are to use Google Keep on mobile (Voice assistant if need be)

Continue Reading »

When Firefox does not open

Today, after applying latest update of macOS Monterey, I restarted my laptop.

But Firefox won’t start ๐Ÿ˜ข

No error, no nothing, no window either.

At first, I uninstalled existing version, downloaded a fresh one from internet (using Vivaldi). I assumed that maybe my OS update broke something, and reinstalling might help.

It didn’t.

Then, I started Firefox from the terminal hoping to see error, if any 1.

Didn’t help.

Next, I decided to remove the cache. 2

Continue Reading »

How to pretty-print in Rust

Today, I accidentally found out that instead of using {:?} to debug print, if one just adds an extra # like {:#?} the variable is pretty printed.

This makes sense for struct rather than simple data types like numbers or strings.

The interesting part (for me at least) is how I “discovered” it ๐Ÿ˜„

When I was printing a struct (for debugging ๐Ÿ™ˆ) VS Code (I think rust analyzer plugin) showed a popup how the struct does not implement Display 1

Continue Reading »

How to specify the size for the embeded image in Obsidian

TL;DR: When inserting a link (especially of the image) one can add pipe followed by size. This size is used for displaying embedded image inside the note.

For example, I have a markdown and excalidraw mixed note named Dashboard

It references itself (for the excalidraw image on the back of the note) like ![[Dashboard]] 1

This results into an image that just shows small preview that is not useful, especially if image is wide (and/or tall).

Continue Reading »

โ†’ macOS : Whichspace โˆž

I have been using macOS for almost 9 years, and never used the workspaces feature (Not sure when it was introduced)

But after looking at Omakub I started using this feature.

Essentially, I divided the apps as follows. (Or at least that is what I wanted ๐Ÿ˜„) Each app (window) on its own workspace.

  • Alacritty
  • Firefox
  • Vivaldi
  • Whatsapp and Telegram (Social apps) together on separate workspace.

But somehow, some of the browser windows (I think new ones, after I moved existing windows to different workspace) moved to different ones.

Suddenly, it started feeling “jumpy”

(I think) I eventually figured out how to ensure that all the firefox windows remain in the same workspace 1

While looking at all these, I came across Amethyst (Still exploring, maybe upcoming post) and also WhichSpace (finally app mentioned in the title of this post ๐Ÿ˜†)

This is really tiny utility. It shows the desktop number (like 1, 2, 3, 4) that is all.

But it is useful (at least I think so)


  1. In the dock, right click on Firefox icon -> Options -> Assign to -> This Desktop. The default is None hence the seemingly erratic behaviour. ↩︎

Creating Youtube Banner

Today, I was trying to create a banner for my (upcoming) YouTube channel.

I used Canva to get started. It has a lot of templates to get started.

This can be a rabbit hole ๐Ÿ˜„ But I finalized the one I liked.

After customizing the template to my liking, I was ready to upload it to youtube.

But ..

Turns out, depending on the device where are watching YouTube, different parts of the banner are visible.

Continue Reading »

direnv with python

What is direnv

direnv is a tool that allows you to change your environment based on the configuration in that folder.

e.g. You can set different environment variables for different folders.

The reason I revisited direnv is because for python project, we need to switch to different virtual environment each time we change a project.

Wouldn’t it be nice if correct virtual environment was activated when you change to that directory

Continue Reading »

Helix: Vertical Selection and Edit

One of the workflows I used in vi/m over last 2 decades is : vertical selection and edit

So much so that it is part of my muscle memory and I needed to learn the equivalent in helix.

After some searching, I found it. Here are the steps:

  • Go to the column you want to select. Press v to enter select mode.
  • Select the column and to go down and up in the column selection use Shift-C or Alt-Shift-C
  • You can repeat the Shift-c command using the numeric operator if needed, like 10-Shift-C to select the column 10 rows vertically.
  • Now you can perform any action on the selection e.g.
    • Go to insert mode and add * before each column.
    • Or d to delete the selected letter from all the rows (in normal) mode.
  • You can come out of this (multi-select?) mode via , in normal mode (If you are in insert mode, finish editing and come back to normal mode first, via Esc)

Source

Omakub : Lazyvim

As I wrote earlier, I skipped over neovim initially, but then got curious.

I installed Neovim and configured it to use Lazyvim.

I was blown away by how nice it is.

My last serious affair with neovim was two years ago. 1

Lot has changed since then.

Lazyvim wasn’t even born when I stopped using neovim 2

It is quite polished.3 The hotekys are mnemonic and intuitive (coming from doom emacs, at least)

I have not used it a lot.

Continue Reading »

Omakub : Pinta

While Omakub was mainly intended for developers (and thus has focus on terminal based programs like alacritty, zellij and neovim), it does come with few GUI programs.

I think this is mainly because DHH was trying to switch to Linux as his primary machine, and requires some non-terminal tools.

Choice of Pinta and Xournal app were interesting, so I installed both of them.

I assumed Pinta to be MS Paint replacement.

Continue Reading »