I started learning about socket programming this week. It is a pretty interesting topic. Socket programming is the standard way for applications or systems to communicate with each other over the network. All socket implementations these days follow the Berkeley Socket. The Berkeley socket API includes these functions:
Last week, I decided to try to use Obsidian for project notes and literature notes. So I have been thinking about a workflow that works for me. Especially, a workflow that works nicely with Zotero. I was looking into implementing a workflow like the one described in this guide from Medium.
The one thing I still worry about using Obsidian is how easy it is to tinker with. If I use any other tools, I immediately know their limit, so I focus on my note-taking. In Obsidian, there is always this pull to tinker. For instance, If I thought about using Obsidian as a CRM. So I did a Google search, and there was some discussion on this topic. So follow the discussions. And end up spending hours down the rabbit hole. If I use Bear, for instance, I know I can't do it, so I wouldn't even bother. But in Obsidian, everything is one plugin away. Do you want your daily notes on a single continuous page? there is a plugin for that. Do you want a Kanban board in your note? there is a plugin for that. You end up spending your days tinkering instead of creating notes and manuscripts.
I got a severe stomach problem this week. Apparently, there is a safe way to pack a lunch to work. You can find the complete tips from Just One Cookbook. The most important tips I remember are I need to **keep my hands clean, reheat pre-cooked food and let them all cool down before I pack my bento.
Sometimes you need to work with binary data in the system's
stdout. In Python, to read and write binary data from/to
stdout is as follows:
import sys # Read binary from stdin data = sys.stdin.buffer.read() # Write binary to stdout sys.stdout.buffer.write(b"some binary data")