Oh, `nftables`, especially `libnftables` & `libnftables-json` are such well-designed tools with a neat API. It is very easy to use, and let me configure IP route in C++ with JSON, in plain text!

Today, I let my friend teach me about how to play the Yu-Gi-Oh! Trading Card Game. After a few times of trial and error, we finally figure out how to win against the AI. The link spell is so powerful! It shocks me, a man who have only watched about the Duel Monster bangumi.

Oh, `iptables` the syntax is daunting before reading the docs🤔

It seems that every game I have played will be a programming game in the very end.

I am tired of building large buildings by placing a lot of cobblestones repeatedly, so I end up with a /fill command.

Now, I am looking for scripting in Minecraft......

The most valuable thing I learned from life is do not care about what other people think. Why? Let me give a simple proof.

Obviously, all the other people can be divided into three groups:
lovers, haters and irrelevant. When you have done something wrong, lovers understands you. Irrelevant people even do not know about that. Haters, even you do something really awesome, they hates you all the time. So, why do you care about what other people think about you?

It is hard to learn to use a new build tools such as catkin to compile a hello-world level program for me, so I finally go back to write a simple Makefile and -I -L all the dependencies manually. It just works but works all the time!

After using evil-mode in emacs constantly, I finally found vim is good lightweight editor when editing files directly on the remote server.

I love reading about mathematics and physics, because they gave me the real insight. As I know, this world is a stochastic environment that follows the law of probability. The most important thing to do is understanding this world by gathering, analyzing and interpreting data. At that moment, I feel that I am in my own age of enlightenment.

Adding @tf.function brings a dramatic performance boost. The training time reduces from 50 episodes within 25 minutes to 500 episodes in just 15 minutes!

I wonder why they do not use a super alerting phrases to catch the document reader's attention. In my opinion, "improving performance" means at most 10% improvement, adding @tf.function or not doesn't matter. What the hell it's a 1500% performance leap......

Writing a reinforcement learning system from scratch is quite time consuming. Sometimes, if I have found some bugs, I don't know where they come from. Maybe they are from the game environment I have wrote, maybe they come from the neural network I have devised,
or maybe the algorithm is unreasonable, or maybe the reward function settings is unreasonable.

A long training time makes the agile development totally a joke,
makes the debugging process painful.






A printer has been connected to the router in my office. Windows users can easily discover it, but not for me using Debian. So I used nmap to scan the localhost and found the port 9001 providing a service named `jetdirect` under Then I used cups to set up a network printer manually for me. Bingo! That's the funniest time.

If I use Windows from the very beginning, I would have missed all of the funny things. Treated as a fool, you would be dull:)


Disabled secure boot and everything work fine:)

Japanese typing is too hard to learn. I can't type contractions easily:(


Mastodon @ SDF

"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko