pseudoyu

pseudoyu

Blockchain | Programming | Photography | Boyi
github
twitter
telegram
mastodon
bilibili
jike

Weekly Report #25 - Personal Information Output and Synchronization System Based on Crossbell (Refactor)

Preface#

weekly_review_20230109_photo

This article is a record and reflection on life from 2023-01-01 to 2023-01-09.

This is the first weekly report of 2023. It feels like New Year's Eve was just yesterday, yet the first week of January has already ended. Perhaps my perception of time has become increasingly dull.

I wrote a relatively detailed annual summary during the New Year, recounting everything that happened in the past year. After finishing, I realized it exceeded my expected length, and since I hadn't sorted out my thoughts on New Year plans and expectations at that time, I skipped that part. So, taking advantage of this first weekly report of the New Year, I set some small goals. Some are about forming small habits, while others are long-term plans filled with uncertainty. I don't know if this year will go as I wish, but listing them out gives me some motivation and serves as a form of supervision.

After staying at home for almost two months, I finally decided to go out this weekend to a friend's house for a meal, spending a happy day (otherwise, I feel like I wouldn't even know how to talk to people face-to-face anymore). Although the photo-taking rate was concerning, I managed to edit some photos and published two photography collections. I organized my various software and hardware services (a yearly ritual; I always feel that organizing will give me more motivation to start anew). While organizing, I remembered some previous small plans and set up a website running IPFS version of ZLibrary, which unexpectedly gained attention, prompting me to optimize the server and network overnight; along with many interesting things.

Personal Service Refactor#

Service Management#

As in previous years, I organized my various services at the beginning of the year and found that I had as many as 20, half of which are serverless. This year, my skills in utilizing free resources have improved. To facilitate management, I set up a monitoring service using the open-source Uptime Kuma and bound it to a Telegram Bot for alerts, which has made me feel much more at ease.

uptime_kuma_yu_services

Interestingly, I had always thought managing websites with servers was cumbersome; every migration or service change was a headache. Therefore, I hosted most of my services on several serverless platforms like Railway, Vercel, and Supabase, as most of them are personal services with no high configuration demands—security and stability were sufficient. I never bothered with Nginx reverse proxy, HTTPS certificates, and such.

Previously, I mentioned helping a friend from the anime community with Bilibili live streaming management and technical support, so I thought of using a free Oracle Japan machine to specifically monitor live streams and automatically record them. Sometimes friends need to view and download directly, so naturally, a memorable domain name, access speed in the domestic network environment, and download bandwidth all need to be considered. Serverless services were no longer sufficient (and not very cost-effective), so I explored some solutions and chose the convenient reverse proxy tool Nginx Proxy Manager.

npm_yu_dashboard

I deployed it on a 搬瓦工 machine with a good connection (CN2 GIA), hosting my various services to ensure a decent access experience. I can also directly issue HTTPS certificates and automatic renewals for my *.pseudoyu.com subdomains using wildcard matching, which is very convenient. Combined with the monitoring mentioned above, I've been using it for a week now, and it feels quite comfortable.

The official documentation is clear and detailed, and with a user-friendly container service management method like docker-compose, it's easy to get started. However, I might consider creating a tutorial later for friends who want to host small services like blogs.

RSS Input#

In 2022, I mostly focused on blog output and my Telegram channel, not spending much effort on input and synchronization across platforms, resulting in a backlog of RSS subscriptions and an overload of newsletters. I ended up deleting the long-used NetNewsWire and set up a more lightweight Miniflux using Railway + Supabase as my main reader, filtering my RSS sources down to 52, almost all personal blogs, which I will continue to optimize.

miniflux_yu_page

Although Miniflux provides a good reading experience, I actually prefer to click through to the original text. I always feel that for personal blogs, it's not just about the content; the website's design style, related articles, and themes are also an indispensable part of the blogger, providing a more complete reading enjoyment.

For me, the RSS reader serves more as a first-step aggregation tool. Since Miniflux is a web-based service, it doesn't provide very timely alerts, and I rely heavily on Telegram daily. Therefore, I set up my own Telegram alerts based on RSS to Telegram Bot, pushing updates from these sources to me. When I see interesting titles, I take note and later read them all together in Miniflux.

yu_rss_to_tg_bot

This way, it's also less likely to miss articles I want to read, and it prevents too much information from piling up. Currently, this solution feels quite good, and every weekend when I see various weekly reports, it significantly encourages me to update (I went out to play this Sunday, reasonable delay in updates).

Telegram Output#

I also set up my own n8n synchronization service using Railway + Supabase, synchronizing inputs from various platforms to my channel. For detailed descriptions, you can refer to this article: 『Weekly Report #12 - Cyber Space, Self-Definition, and Boundaries』.

Previously, I made some adjustments to the platform based on Reorx's solution but hadn't added more information sources, especially since there are few domestic sources.

Although I currently share very little on domestic platforms, it is still a part of myself. Additionally, I added 少数派 as a channel for publishing some productivity-related articles. After my friend Tu Junjie JunJie recommended integrating RSSHub with n8n, I deployed a set of RSSHub services on my server to experience it, and I was instantly impressed with the solution. I quickly added synchronization support for NetEase Cloud, Weibo, Bilibili, and 少数派 to my Telegram information flow channel, enriching the content.

Crossbell Synchronization#

Although platforms like Twitter and Telegram are quite large, they are centralized products. Given the recent turmoil, I am always uneasy about consolidating my information sources solely on Telegram, especially since I often almost accidentally delete everything when clearing messages (a strange interaction experience). Therefore, the synchronization and export of information is also a crucial part.

The Side Project I mentioned earlier is also doing something like this, but as a Web3 practitioner, I have long been envious of blockchain-based solutions. My graduation project was also a data ownership protection ÐApp based on Ethereum and IPFS, but my paper demo project couldn't meet my various needs, and the code was too messy to have the desire to refactor it, so I began searching for on-chain solutions.

A long time ago, I followed Crossbell and coincidentally got to know several friends from RSS3, but my impression of Crossbell was still based on the CrossSync browser extension shared by Diygod on Twitter. At that time, it was inconvenient to associate wallets when opening links on mobile, so I set it aside.

So I thought to browse the official website and found that there were already several applications like xLog, xSync, xChar, and xFeed, and I was particularly interested to find that xSync just happened to support Telegram Channel, perfectly matching my needs.

xLog Synchronization of Blog Posts#

I started configuring and decorating, first synchronizing my blog posts related to personal thoughts to xLog. The visual effects and experience are quite good, and it's easy to follow and comment based on the Crossbell address.

This is my xLog access address: xlog.pseudoyu.com. Friends interested can follow it, but currently, due to considerations of customization, various historical article migration routing issues, and changes in my data statistics services, it serves more as a synchronization distribution channel, and I do not plan to completely migrate my blog there for now.

yu_xlog_homepage

The built-in NFT showcase is quite nice, likely integrated with Unidata. I had wanted to integrate it into my Hugo blog but never got around to it (having something ready makes me lazier).

yu_xlog_nft

xSync Automatic Synchronization of Telegram and Twitter#

I was really surprised to see that xSync could synchronize Telegram Channel data. There was no need for any modifications to back up and archive my aggregation channel again, and I quickly configured it, suddenly feeling a bit tempted to abandon my Side Project.

yu_xsync_homepage

However, it's somewhat regrettable that only part of the historical data was synchronized. It seems there are no manual backup synchronization options for data before integration. I wonder if there are configuration options or future features that can resolve this, or if any friends from RSS3 know a solution, please let me know. Thank you!

Once everything is configured, I can view all my messages through xChar. It's a perfect solution. This is my xCharacter personal homepage: xchar.app/pseudoyu, where you can also check my information flow.

yu_xchar_profile

Another small episode is that I smiled when I saw that I had to put pseudoyu@crossbell in my profile. When I was working on my graduation project for copyright protection ÐApp, I used the Oraclize API in the Solidity contract to access off-chain data, capturing the unique identifier from the YouTube profile as an account ownership certificate. It brought a strange sense of familiarity, haha. I hope to study the code when I have the chance.

This Crossbell-based information input-output solution can be said to have restructured my original personal management system, and I hope to make some of my own attempts with this system.

New Year Plans#

It seems that listing some annual plans has become an unwritten habit, but in the past years, I have rarely followed through on them. This year, with more public expression channels, I feel more motivated to put them into practice.

I previously read an article by Xuanwo titled 『2022-37: Public Workflow Based on Github』 and did some research on GitHub Projects. I found it simple yet sufficient. Although I usually do some basic GTD based on Logseq, it's still hard to use it as a kanban. This year, I will give it a try and put some corresponding pressure on myself.

The granularity of New Year plans is hard to control, so I will go with the flow and not write anything too grand or vague. They are more like some indicators; some are ideas for free exploration, some are long-term goals, and some are short-term tasks to complete. I adopted a checkbox format, and perhaps I will continue to add to it later. During the completion or at the end of the new year, I will review and check it.

  • Take good care of Nian Nian and protect her well
  • Go to Japan or return to Hong Kong for work/a remote job I enjoy/ a work mode with satisfactory freedom, choose one based on priority
  • Travel to at least 6 cities I haven't been to, preferably meet some long-lost friends, though not many
  • Persist in writing weekly reports, completing 48 pieces
  • Besides weekly reports, update at least 48 original blog posts, mainly technical
  • Go out more to take photos, update the newly opened photography collection section at least 12 times (I already rushed to publish two pieces for New Year's Day), and delve into learning composition, color, and post-production
  • Contribute at least 12 translations to GoCN
  • Publish 10 articles on 少数派,earn some cat food money
  • Start making Bilibili and YouTube videos, at least 10 videos, and they can't be too shallow
  • Persist in exercising/running at least four days a week (fitness ring or Keep counts), and I will also record my check-ins in the weekly reports
  • Keep practicing guitar, record at least 3 songs and publish them
  • Regain my skateboarding skills, practice skating at least twice a week
  • Read at least 24 meaningful books, but not just skimming; I need to publish my thoughts on platforms like Douban
  • Obtain the Japanese N2 certificate, preparing for some plans in Japan later; the learning progress will be recorded in a separate module in the weekly reports, possibly cramming for the July exam, if not, I will try again in December
  • Obtain the CKAD certificate; I prepared half of it last year but forgot to register and purchase the exam, and without pressure, I tend to slack off
  • Contribute code to more open-source projects, not requiring quantity but hoping for more meaningful submissions
  • Write a showcase website for my open-source toolbox project 『Yu Tools』 and write usage experiences for the software and hardware entries (a big project), continuously optimizing and iterating
  • Improve the 『Blockchain Guide』 open-source guide project, covering more of the blockchain underlying and Web3-related project experiences and engineering experiences from the past year; I feel ashamed that most articles were written during my master's studies in Hong Kong
  • Successfully launch and continuously optimize the Side Project entrepreneurial project I am doing with friends
  • Explore more interesting technologies and continue to enjoy them
  • Meet more interesting people
  • Live well

Personal Life Snapshot#

Since the severe COVID-19 situation in Beijing began in November, I started a two-month stay-at-home life. I probably had decent physical defense attributes (referring to sending the only medicine I had at the time to a friend, purely relying on staying indoors to isolate from the virus) and a bit of luck (I ordered takeout as usual every day, and the property management came to deal with a leak issue at my place for an afternoon), and I have maintained a negative result until now, already in the final stretch.

However, the consequence is that friends who have recovered and tested negative are traveling everywhere, while I still fully gear up even to take out the trash, let alone go far. I spent two months like this with my cat.

Although I have indeed been staying at home, with the pandemic easing, there seems to be no end in sight, so my mindset has also relaxed. This weekend, I was invited (not really, just went to play under the pretext of visiting with my cat) to a senior's house for a meal, breathing in the not-so-fresh air outside (after all, it's Beijing) and enjoying home-cooked dishes that I hadn't had for a long time. I spent the day feeling at ease and happy.

wonderful_meal_with_boyi

I plan to return to Hangzhou on January 18. In fact, the time I spent at home in 2022 has not been short compared to previous years, with various adjustments and holidays adding up to about a month. However, due to the repeated pandemic, I haven't had the chance to return to my hometown. Two years ago, my grandmother passed away in January, and I couldn't return home due to the pandemic in Hong Kong. Last year's Spring Festival was also spent in Beijing due to a sudden outbreak, so it's time to go back and take a look. The older I get, the more places I go, yet home feels increasingly distant.

Actually, I had been hesitating about going home for a while, worried about any changes, but I still wanted to go back and see. However, under such circumstances, I was uneasy about leaving my cat with a shelter or unfamiliar people. Later, during a casual chat in a meeting, I mentioned that I had a solution, and I arranged for Nian Nian to be fostered at my project leader's house. Her daughter has been eyeing my cat for a long time, and after settling everything, I finally felt relieved.

With all this fuss, it's almost certain that I will test positive. Upon learning this, my senior gifted me a luxurious anti-epidemic care package, which was touching.

medicines_from_boyi

Recently, my senior also made a wish for me while at Lingyin, saying, "May 2023 allow you to do what you love and explore more hobbies," and she brought me a beautiful Buddhist bead accessory as a gift. I unilaterally declare her to be the best senior in the world, and I hope the new year treats her well too.

I suddenly remembered that during my university years, I had a Buddhist bead from Lingyin that Ni gave me, which I wore for over a year until the string was about to wear out and the beads were about to fall off. I felt that year was indeed very lucky, and sometimes it might just need a bit of tranquility.

I will fulfill my wishes when realized, double the wishes.

wonderful_gift_with_boyi

Others#

This section will record my inputs and outputs as well as other interesting things.

This week, I watched two very touching videos on Bilibili. One was from my favorite Up 主『小鹿 Lawrence』 titled 『This is my hardest year, yet my company shrank by half|2022 Year-End Summary』, and I had some reflections:

I have watched this year-end summary segment for several years, and I always watch it many times.

I have felt empathy at the same stage, moved by some videos; I have been happy for many days after receiving encouragement from 鹿哥;more importantly, he has accompanied me through one late night after another, waking up to continue living. Perhaps due to familiarity, the slight pause when he opened the new studio door, the choked words "because the support of family in the past is your confidence," the bouquet's BGM, and the bitter smile while looking back at the year all made my emotions rise and fall, bringing me to tears.

"It's not that you have grown up and changed, but that you have grown up, and the world has begun to reveal all its truths to you." Perhaps the youthful feeling often described about me, the student-like demeanor, is just the overdrawn luck from past experiences and the protection from those around me, allowing me to repeatedly discuss myself in my weekly reports, yearning for beauty. In 2022, everything returned to the starting point. Fortunately, I can still maintain the habit of "recording" and have not lost the ability to "feel," which is small yet invaluable.

"This year, too much has been lost; any small death and collapse becomes unbearable." Yes, 2022 was indeed tough, indescribable. In the new year, I must force myself to continue living alone.

Thank you, 鹿哥,for the companionship and emotions brought in the past year. Let's work hard in the new year!

The other was from a very sharp Up 主『老蒋巨靠谱』 titled 『Saying Goodbye to an Indescribable and Unnecessary Year——My New Year Address』, and my thoughts were:

I really love 老蒋's thinking and narrative style; it's simple, sincere, yet bold and sharp. It's the best New Year address I've seen.

2022 has passed like this; many things are unspeakable, many things are happening, and many things will never happen again. "Indescribable" might be the best description.

Summary#

The first week of 2023 seems to be a good start for the year.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.