Why Firefox?

I've been using Microsoft's built-in password management tool all along. The PC end can use the password filling and query functions provided by Edge, and the mobile end can use Authenticator launched by Microsoft as the mobile password management tool. Although it's easy to use, it essentially means that the PC browser needs to be strongly bound to Edge and Microsoft. It's not very convenient if you want to switch to other browsers. In the past two weeks, I started to use Bitwarden as a password manager, thus getting rid of the dependence on Edge. Therefore, I immediately updated the FireFox browser on my computer and tried to use it as the default browser. The user experience is not bad, it has all the features I need, and its performance is similar to Chrome and Edge. However, the performance of FireFox is just okay, there are not many outstanding aspects, it can only be said that it is close to or almost as good as Edge.

Don't Take Open Source Software for Granted

This morning, while scrolling through Twitter, I came across an article written by the author of core-js a couple of days ago, about his experiences developing open source software. His experiences are indeed eye-opening and heart-wrenching. What is most shocking and saddening is that the core-js, which the author has put a lot of effort into developing and maintaining, has indeed gained everyone's attention and recognition (it has nearly 20k stars on GitHub), and this software library is also widely used (the total download volume on npm has reached 9 billion, 52% of the top 1000 websites use core-js, and 75-80% of the top 100 websites use it). However, such widespread recognition and use has not brought any income to the author. The peak period of a few hundred dollars in monthly donations is not at all commensurate with the time and effort required to maintain the project. Added to the fact that the author is unemployed and in a rather sensitive country, the income is indeed a bit lacking, and can even be considered impoverished.

A Record on Using Spring GraphQL

Spring GraphQL is a new Spring Application integrating GraphQL, released by Spring this year. Thanks to the out-of-the-box features of Spring Boot, it allows for the quick construction of a usable GraphQL service. However, despite its usability, the documentation leaves much to be desired, especially for some advanced features, which require self-exploration through the API documentation.

The Ins and Outs of 996

After brushing up on some videos about political economy and philosophy on Bilibili in May, I rekindled my interest in this area of knowledge and started following some up masters to learn more. Among them, I particularly enjoyed Weimingzi's discussion on the topic of 996. I found it insightful and inspiring, so I decided to jot down some thoughts on the matter.

Blog Switched to Hugo

In less than half a year, I have revamped my blog again. I spent more than two days switching the blog from the original Hexo + Stun to Hugo + MemE. There are many reasons for wanting to switch, for example: The speed at which Hexo generates pages has become a bit slow. I have only about 70 pages, and each build deployment plus submission may take one to two minutes, and as the content written over time increases, it will take longer and longer. The original theme seemed a bit inappropriate. Now I prefer the blog style to be simpler, allowing the focus of the website to return to the text itself. This also prompted me to ban all non-centered article bodies when choosing a theme this time. The original blog feels like there are too many useless and verbose pages and features, including the so-called background music playback. In order to have a better background music playback experience, I had to use PJAX.

Postscript on Using Double Pinyin

I've been using the double pinyin input method for over a month now, and I've pretty much mastered this skill. Now, I primarily use double pinyin as my daily input scheme. In daily use, I haven't encountered any major issues, but the advertised significant efficiency boost isn't exactly noticeable. However, I've grown accustomed to it and will likely continue using it.

Blog Domain Migration

I got up early in the morning and found out that the domain I've been using for two years is due to expire in a month, reminding me to renew it. After dealing with some things, I went to renew it, only to find out that the renewal fee is 72 yuan per year, which shocked me. It was only a few yuan when I first opened it, and the first year's renewal was only about twenty to thirty yuan. The change was too drastic, and for a small personal site like mine, it's indeed expensive. I checked the current domain prices and found that the price of the .club suffix is indeed uniquely expensive, even more expensive than some .cn suffixes, which is a bit outrageous. So, I decisively chose to switch back to the .top domain I first used, which only costs 25 yuan a year to renew, and with the first year discount, I spent less than 60 yuan for three years.

On the other hand, changing domains also has quite a few costs, and the longer you use it, the higher the sunk cost. Accumulated SEO and RSS subscriptions are difficult to follow the domain switch and convert over, and may need to be accumulated again, and various statistical analyses may need to be discarded. But it still needs to be done, after all, the characteristic of the internet should be open and free, and should not be overly constrained.

The site has now moved to the domain https://scottyeung.top/

Some Notes on SQLAlchemy

Recently, I have been collecting and processing a large amount of data, which usually involves converting XML/text format data into relational, structured data for easy export and direct analysis, especially formats that can be directly analyzed by pandas (csv/json). Therefore, I need to use a mysql processing library in Python. Since I was looking for a processing library, I decided to go all out and choose a library that supports ORM. So, I chose SQLAlchemy. After using it for a while, I decided to write a record to remember the commonly used things during this period.

SQLAlchemy is an open-source software under the Python programming language. It provides an SQL toolkit and Object-Relational Mapping (ORM) tools, mainly to meet the following needs:

  • Provide common operations on databases: add, delete, modify, and query
  • Provide ORM functionality, which can turn the operating unit into an object, so there is no need to write sql statements for hard coding/decoding parsing data

Summary of Automate the Boring Stuff with Python

This book is about how to automate work with Python and where it can be applied. It is aimed at non-programmers who want to increase productivity and reduce repetitive work. As a future programmer, why do I recommend this book aimed at non-programmers? In my view, code is a tool. As a tool, it should be used to help solve problems and meet needs. However, in many of our coding-related learning, we don't consider why, but simply learn what. This learning method is not efficient, and the most critical thing is that there will be a sense of confusion about what it is used for/whether it is useful, thereby losing the motivation to continue learning. Therefore, I recommend this book, starting from the demand, using the demand as the goal, telling you what you can do, and you don't have to learn the specific use part in order, you can jump to the relevant part based on the demand after mastering certain basic syntax.

Summary of Ultralearning

This article is a summary of the new book "Ultralearning" by Scott Young, a blogger I greatly admire. The book mainly introduces the related concepts and principles of ultralearning. Definition What is ultralearning? Literally, it's ultra + learning, which can be understood as learning beyond the ordinary. The definition given in the book is: A strategy for acquiring skills and knowledge that is both self-directed and intense strategy: It's a learning strategy (just a strategy, not a necessity) self-directed: Self-guided (self-arranged/planned) intense: High intensity Overall, this is more like a learning methodology. Talent is not necessary (of course, having talent will inevitably enhance the effect), anyone can do it, and it can cultivate good learning methods/habits/attitudes/concepts. Principle Looking at all the ultralearners the blogger has encountered, what makes them so successful in learning? The author has summarized 9 guiding principles through many examples. These are the essence of the book, explaining the important factors associated with ultralearning.