Snippets

This is a place where I enjoy talking to myself.

"You are fleeting, but your work is your memory." – Jože Plečnik

Jun 10, 2024


I skimmed through a little book by Peter Miller this morning (bought from Browser Books SF). I’ve always felt a bit different when doing the dishes – a kind of zen state of being a solitary thinker during the session, a time alone to self-reflect on my days. Peter’s words are wondrous, and as someone with OCD (to a certain degree), I can relate to his philosophy about dishwashing. Even more so, I found metaphorical connections to details of my life dating back to when I worked on my startup – dealing with impatience, tweaking details, and improving social interactions as an introvert. Others also find this kind of euphoric moment in other chores as well. The core idea is that the simplicity of these tasks gives us a chance to experience pure enjoyment, to connect with the primitive nature of life, in this world of "din and clatters."

You will always have Paris, and there will always be dishes. I will wash, and you can dry.”

Jun 10, 2024


An easy way to set up an event reminder in my life log document on Quip: just ask LLM to do it instead.

04/05/2024


Discovered two new research tools:

  • PaperPile: a Zotero alternative, I think of it as similar to Pinboard among bookmarking tools, because of its minimalistic user interface. Specifically, the ability to automatically detect papers and add them to a collection via a Chrome extension (or any browser that's based on Chromium). Very convenient and smooth when managing collections on certain research topic. Additionally, it provides a paper reading tool, which allows me to apply highlights and notes directly in the PDFs that it finds (or that I upload) within the browser in their app. Although, sometimes I find that loading certain PDFs can be a bit laggy. I'm not sure if this is due to the file itself or the performance of their application.
  • Elicit: a tool for finding literatures, based on LLM. Very new to the market, but so far, I like that by just providing a few keywords or a paper, it can quickly help me navigate to some highly relevant sources and provide instant information in the search results.
Left: Paperpile. Right: Elicit.

02/03/2024


Random: I feel that one of the valuable things as I grow up is the ability to precisely manage how much I can or want to express—not too much, as overloading information isn't good, but not too little either. I'm a person who often overthinks, so writing here is a great help for me to sort unordered fragments that pop up in my mind randomly. Being able to express myself better to the right audience, for an adequate amount of time, and leaving room for further conversation, I hope to do even better in the future.

02/03/2024


One of the slides from my Computer Science ethics class.

02/01/2024


I guess I now have a firm motivation that pressures me to write blog posts instead of personal notes. Blogging pushes me to triple-check my thoughts before publishing, because of the chance of letting more people see them. Thus, I have to solidify my thoughts. Inevitably, I make mistakes, for sure, and exposure means possible criticism, but criticism helps one progress; I think optimistically. To write is to forge my thinking style.

01/26/2024


Created a PDF compress CLI tool (just a bash function) with GPT.

$ pdf-compress --help
Usage: pdf-compress [-q|--quality <res>] <file>
    Where:
        -q|--quality <res> is the resolution for the PDF (default: 150)
        <file> is the PDF file to compress

My prompt:

Wrap the given PDF compression command within a bash function called pdf-compress, which takes two arguments:

- If -q or --quality is provided, it should be assigned to -dColorImageResolution, -dGrayImageResolution, and -dMonoImageResolution. Check if the value exceeds 300 or is less than 50, or if the value is not a number. If any of these conditions are met, do not execute the command; instead, prompt a warning. If not provided with -q, the default value is 150. This argument is optional.

- The file path should be provided as the last argument of the command. Check if the file exists; if not, exit and issue a warning. This argument is mandatory; if not supplied (i.e., supplied with no arguments), prompt the --help option.

- No other arguments should be supplied.

- Check if gs is installed. If not, do not execute the command; instead, exit and warn the user.

01/26/2024


Ordered an M5 Dial a few weeks ago, and it arrived today. The shipment speed (China to U.S.) has been getting faster since COVID. I'm looking forward to building some toy gadgets for my own use. It could be a modularized workstation that I can grab and take on the go (perhaps just with magnet). I could also use it as a remote shutter for my phone or as a media control for my Mac. It could serve as a control center for home appliances. Many more ideas. One great thing about ESP32 is that it is getting cheaper, smaller, and better compared to similar maker-level hardware, so I don't have to spend 💸 on unnecessarily expensive tech gadgets.

One drawback of this M5 Dial is that the dialer itself is just an encoder; it is not a stepper motor. Unlike what many YouTube makers (one example) have experimented with, it doesn't support haptic feedback, lacking a good sense of interaction. Nevertheless, that's something I can make in the future.

01/25/2024


planner.systems

01/17/2024


Having been using the Vivaldi Browser for over two years, loved it. The workspace feature is the best.

1/17/2024


Bartender 5 is a true life saver for the really short amount of spaces I have left in menu bar on the MBP 14'.

The rightmost time zone section (iStatMenu, not part of Bartender 5) is specifically helpful, since I'm often traveling between SFO and ORD from time to time.

Update: I uninstalled Bartender 5 after 1 day of use. When interacting with an icon in the drawer, such as the "Cisco AnyConnect VPN" icon you see in the above screenshot, it moves to outside of the drawer, causing inconsistent UI changes. I just wish one day Apple can fix this problem natively.

01/16/2024


The responses that ChatGPT and GPT API produce are quite different, I assume this is largely due to the differences in prompting. On another note, GPT, as of now, is not able to excel or well-reason at most in-depth knowledge areas, mostly Math. In other words, it's not an expert that will provide the most accurate answer when you ask it a question. It is up to the user to "train" it with guidance, either by refining the prompt or fine-tuning it. I realized this about half a year ago after numerous attempts to ask it many questions in a field that I'm not familiar with (disclaimer, I was not using it for my college homework or exams). I find it really helpful when I say something like, "collaborate with me" or "why is this false or true", as it provides me with its reasoning process; as well as new perspectives I might not have considered, helping me understand new concepts or a set of questions.

01/16/2024


Revamping my bash env, wrote this bash command that helps me quickly navigate through multiple directories via a short code without typing cd and the long absolute paths.

# Usage: enter [-l | -c | <short_name>]
enter cs421 # takes me to the course directory I had locally 

01/14/2024


Canceled my ChatGPT subscription yesterday just to save some money. Started using local versions via OpenAI's API completely, currently having BetterChatGPT as the web UI, and a terminal user interface I wrote (termchat) a while ago for super fast access in my terminal. Had some thoughts to rewrite the termchat using Rust, fix some usability stuff and implementing some new features.

Shell is just faster. Browser what?

01/10/2024