<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>sainnhe&#39;s blog</title>
    <link>https://www.sainnhe.dev/</link>
    <description>Recent content on sainnhe&#39;s blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright> sainnhe</copyright>
    <lastBuildDate>Thu, 04 Jul 2024 12:24:43 +0800</lastBuildDate>
    <atom:link href="https://www.sainnhe.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://www.sainnhe.dev/about/</link>
      <pubDate>Wed, 08 Apr 2020 13:46:52 +0800</pubDate>
      <guid>https://www.sainnhe.dev/about/</guid>
      <description>关于我 本硕西电通信，现在正在腾讯搬砖。 Arch Linux 五年以上用户，现在也在用 macOS + MacPorts。 日用 Vim 进行开发，不过有时也会在 Windows 上用 VSCode。 ✘</description>
    </item>
    <item>
      <title>4 Free Ways to Use GPT-4 in 2024 Unlimitedly</title>
      <link>https://www.sainnhe.dev/post/free-gpt4-in-2024/</link>
      <pubDate>Thu, 04 Jul 2024 12:24:43 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/free-gpt4-in-2024/</guid>
      <description>Background Many third-party GPT-4 providers have free daily quotas, and you&amp;rsquo;ll need to pay for more.
Although GPT-4 is very expensive, but it&amp;rsquo;s not impossible to use it for free and unlimitedly. In this article, I will introduce 4 ways to achieve this goal.
Before starting, let me first introduce three questions that can be used to distinguish between GPT-3.5 and GPT-4. You can use these questions to test whether the model is GPT-4 or not.</description>
    </item>
    <item>
      <title>DoH vs DoT Benchmark: Choose Your Safe DNS Protocol</title>
      <link>https://www.sainnhe.dev/post/doh-vs-dot-benchmark/</link>
      <pubDate>Tue, 17 Jan 2023 14:51:51 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/doh-vs-dot-benchmark/</guid>
      <description>Background What is a DNS server? What is an IP address?
IP address is a string consist of numbers and dots, for example 142.250.69.196. It is the identification of a computer in the network, we can use it to identify a computer in the network and establish a link with it.
What is a domain name?
Domain name is a string consist of English characters and dots, for example www.google.com. It is the identification of a computer (or a service) in the network, we can use it to identify a computer (or a service) in the network and establish a link with it.</description>
    </item>
    <item>
      <title>不废话讲解 KMP 算法</title>
      <link>https://www.sainnhe.dev/post/kmp/</link>
      <pubDate>Thu, 01 Dec 2022 10:02:15 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/kmp/</guid>
      <description>Leetcode 28. Find the Index of the First Occurrence in a String KMP 主要用在 pattern 匹配上。 比如给出一个字符串 s 和一个字符串 pattern ，请找出 pattern 第一次在 s 中出现的下标。 最长公共前后缀 前缀是指不包含</description>
    </item>
    <item>
      <title>Contributing Guide For My Color Schemes</title>
      <link>https://www.sainnhe.dev/post/contributing-guide/</link>
      <pubDate>Sun, 20 Nov 2022 21:57:37 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/contributing-guide/</guid>
      <description>About In this post I&amp;rsquo;m going to briefly describe how to contribute to my color schemes. All of my color schemes share a very similar code base, so I&amp;rsquo;m going to take one of these color schemes gruvbox-material for example in this post.
Code Structure /.githooks/pre-commit: Pre-commit hook. /autoload/gruvbox_material.vim: Contains helper functions and color palette. /autoload/airline/themes/gruvbox_material.vim: Airline theme. /autoload/lightline/colorscheme/gruvbox_material.vim: Lightline theme. /colors/gruvbox-material.vim: The color scheme file. /doc/gruvbox-material.txt: The help doc. /lua/lualine/themes/gruvbox-material.</description>
    </item>
    <item>
      <title>2022 年在 Windows/macOS/Linux 启用干净无广告的 Adobe Flash Player 的方法</title>
      <link>https://www.sainnhe.dev/post/enable-flash-player-in-2022/</link>
      <pubDate>Sat, 27 Aug 2022 09:56:20 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/enable-flash-player-in-2022/</guid>
      <description>介绍 Adobe 在 2020 年彻底终止了对 Flash Player 的支持, 随后各大主流浏览器（Chrome, Firefox, Safari 等）也开始纷纷移除 Flash Player 的相关代码。目前在这些浏览器的最新版本中，即</description>
    </item>
    <item>
      <title>树莓派 4B 上手 &amp;&amp; 尝试部署 Gitea 和 Drone 服务</title>
      <link>https://www.sainnhe.dev/post/deploy-gitea-and-drone-on-raspberry-pi-4b/</link>
      <pubDate>Sat, 16 Jul 2022 19:24:18 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/deploy-gitea-and-drone-on-raspberry-pi-4b/</guid>
      <description>介绍 之前入手了一块树莓派 4B, 但一直放在角落里吃灰。最近看到 GitHub Copilot 开始收费，感觉自己就像在给巨硬打白工，于是心血来潮想要在树莓派上搭建一个 Gitea 和 Drone 服</description>
    </item>
    <item>
      <title>Recommendation of macOS Apps</title>
      <link>https://www.sainnhe.dev/post/recommendation-of-macos-apps/</link>
      <pubDate>Thu, 09 Jun 2022 19:16:48 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/recommendation-of-macos-apps/</guid>
      <description>In this post, I&amp;rsquo;m going to introduce some macOS apps that I&amp;rsquo;m using. All of them are free of charge.
FOSSs (Free and Open Source Softwares) are marked by ⭐.
MacPorts ⭐ This is a package manager, something like a third-party App Store, but in command line.
Many people may prefer homebrew, but I would say even if MacPorts is not to your taste, don&amp;rsquo;t use homebrew.
IT IS UNSAFE!</description>
    </item>
    <item>
      <title>Patch Fonts with Cursive Italic Styles</title>
      <link>https://www.sainnhe.dev/post/patch-fonts-with-cursive-italic-styles/</link>
      <pubDate>Thu, 21 Apr 2022 16:15:27 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/patch-fonts-with-cursive-italic-styles/</guid>
      <description>Update at 2023-11-23 In order to avoid potential legal issues, I decided not to distribute these font files on the public website.
If you want to obtain these fonts, register an account on my gitea instance and send me an email, I&amp;rsquo;ll invite you to a private repository which contains all these font files and the source code.
TL;DR Go ahead to https://git.sainnhe.dev/sainnhe/icursive-nerd-font, download the fonts you like.
git.sainnhe.dev is hosted on Raspberry Pi 4B, it may not be available at all times.</description>
    </item>
    <item>
      <title>Dockerize Your Dotfiles</title>
      <link>https://www.sainnhe.dev/post/dockerize-your-dotfiles/</link>
      <pubDate>Sun, 20 Feb 2022 16:07:09 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/dockerize-your-dotfiles/</guid>
      <description>Introduction If you are like me and prefer to develop in a complete TUI environment with neovim, you may encounter a situation where you need to reconfigure your development environment every time you face a new OS. You may need to install packages, copy dotfiles and do some other stuffs over and over again, which is really annoying.
Docker, which can provide OS-level virtualization, may be able to provide a solution to this problem.</description>
    </item>
    <item>
      <title>Don&#39;t Use Homebrew</title>
      <link>https://www.sainnhe.dev/post/dont-use-homebrew/</link>
      <pubDate>Sat, 01 Jan 2022 10:29:05 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/dont-use-homebrew/</guid>
      <description>What? Yes exactly, you should never use it. I know this might shock you, but please let me explain.
There are two very serious design flaws in homebrew, which may put your mac in danger.
The directory permission Homebrew doesn&amp;rsquo;t need sudo to perform actions, which has been regarded as a big advantage over other package managers.
Yes, it&amp;rsquo;s more convenient, however the way homebrew implements this feature is simply to change the ownership of the directory of $(brew --prefix) to the user who installed homebrew.</description>
    </item>
    <item>
      <title>介绍 Whoogle 搜索引擎</title>
      <link>https://www.sainnhe.dev/post/introduce-whoogle-search-engine/</link>
      <pubDate>Fri, 10 Dec 2021 19:56:35 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/introduce-whoogle-search-engine/</guid>
      <description>中文搜索引擎 现在百度的搜索结果充斥着百度文库、百度知道、百家号、CSDN 等垃圾，包括我在内的很多人都在尝试找一个中文搜索引擎的替代品。 360 和搜</description>
    </item>
    <item>
      <title>记一次 Surface Book 2 官方维修经历</title>
      <link>https://www.sainnhe.dev/post/surface-repair/</link>
      <pubDate>Sun, 26 Sep 2021 16:38:47 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/surface-repair/</guid>
      <description>损坏原因 Surface 系列的笔记本由于其内部构造太过精密，很多电脑维修店都不敢拆。我的 SB2 用了一年多之后就明显感觉散热有点问题了，初步判断是因为长时间没有</description>
    </item>
    <item>
      <title>Create Personal Arch Linux Package Repository via GitHub Pages</title>
      <link>https://www.sainnhe.dev/post/create-personal-arch-linux-package-repository/</link>
      <pubDate>Sun, 21 Feb 2021 16:10:05 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/create-personal-arch-linux-package-repository/</guid>
      <description>About For whatever reasons, you may want to create your own package repository, like this: repo.sainnhe.dev
In this article, I&amp;rsquo;m going to record my steps to create my own arch linux package repository, via github pages, no need to maintain your server.
Build signed packages Create your gpg key When you installed a package from AUR, you generally cloned a repo that contains a PKGBUILD file, then you executed makepkg to build this package.</description>
    </item>
    <item>
      <title>Install Void Linux on WSL2</title>
      <link>https://www.sainnhe.dev/post/void-wsl2/</link>
      <pubDate>Sun, 23 Aug 2020 10:51:21 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/void-wsl2/</guid>
      <description>About Windows 10 version 1909 is finally available for my surface device, I&amp;rsquo;ve waited for it for several months since there is a very important new feature: WSL2 IMO, WSL1 is not suitable for daily development because the performance is TOO BAD. Can you imagine I spent 15 minutes but still cannon launch neovim while it only took about 100 milliseconds in physical arch linux? Compared to WSL1, the performance</description>
    </item>
    <item>
      <title>Blur Any Window in KDE Plasma</title>
      <link>https://www.sainnhe.dev/post/plasma-blur/</link>
      <pubDate>Fri, 24 Jul 2020 13:10:14 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/plasma-blur/</guid>
      <description>About The newest KDE plasma natively support blur, but it has many limitations, for example I can&amp;rsquo;t blur vim status line and firefox. This article tries to find a way to blur any window in plasma, like this:
There is a much more elegant method to achieve this, see the comment for more information.
Preparation To begin with, make sure you have already enabled blur effect via Kvantum and some themes that support blur, for example Sweet</description>
    </item>
    <item>
      <title>通过创建 Wifi 热点来共享 V2ray 代理</title>
      <link>https://www.sainnhe.dev/post/v2ray-hotspot/</link>
      <pubDate>Sat, 30 May 2020 16:32:00 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/v2ray-hotspot/</guid>
      <description>前言 V2ray 可以通过局域网共享代理，但是这要求在另一台设备上配置这个代理的 IP 地址和端口号，而有些设备不支持自定义这些代理配置，所以我想尝试一下直接</description>
    </item>
    <item>
      <title>Sexy &amp; Powerful Configuration for Lightline and Tmux</title>
      <link>https://www.sainnhe.dev/post/status-line-config/</link>
      <pubDate>Wed, 08 Apr 2020 17:54:00 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/status-line-config/</guid>
      <description>Nerd Font First of all, install a nerd font, and apply it: nerd font
Then, pick a unicode over here: nerd font cheat sheet. In this case, search keyword sep
After getting the unicode number, you can use it like this: :echo &amp;quot;\ue0b9&amp;quot;
FAQ: Why are my nerdfont symbols not displaying correctly?
The display of nerdfont can be affected by many factors, including terminal emulator, font type, font size, zoom, etc.</description>
    </item>
    <item>
      <title>在 GitHub Pages 上搭建个人博客</title>
      <link>https://www.sainnhe.dev/post/build-blog-on-github-pages/</link>
      <pubDate>Wed, 08 Apr 2020 14:36:00 +0800</pubDate>
      <guid>https://www.sainnhe.dev/post/build-blog-on-github-pages/</guid>
      <description>创建 Github Pages 新建一个 GitHub 仓库，仓库名为 &amp;lt;username&amp;gt;.github.io，其中 &amp;lt;username&amp;gt; 是你的用户名（不是昵称）。 比如我的用户名是 &amp;ld</description>
    </item>
  </channel>
</rss>
