roasted meat pasta
蒜香烤肉什锦炒意面食谱 (二人份) 这份食谱利用了现有的胡萝卜、烤肉、 烤肠和意大利面,制作简单且风味十足。

🛒 食材清单
- 主食:意大利面 (约 200g)
- 肉类:吃剩的烤肉、烤肠 (切片或切丝)
- 蔬菜:胡萝卜 (洗净切丝)
- 调料:大蒜 (3-4瓣切末)、生抽、老抽、黑胡椒、食用油
- 可选:煮面水 (预留一小碗)
🍳 烹饪步骤
-
煮面:
- 锅中烧水加盐,下意面。
- 按包装说明时间减少 1-2 分钟捞出(保持口感筋道)。
- 重要:捞出前预留一小碗煮面水。
-
煸炒肉类:
- 热锅少油,下入烤肉和烤肠片。
- 中小火煸炒至表面微焦,散发烟熏香气。
-
炒制配菜:
- 利用锅内余油,加入蒜末和胡萝卜丝。
- 中火将胡萝卜丝炒至断生变软。
-
混合翻炒:
- 加入煮好的意面。
- 依次加入 2 勺生抽、半勺老抽、适量黑胡椒。
- 如觉太干,分次加入煮面水。大火快炒至汤汁包裹面条。
-
出锅:
- 试味后酌情加盐,装盘即可。
💡 小贴士
- 风味升级:可加入干辣椒或老干妈增加辣味。
- 配菜扩展:洋葱或青椒也是绝佳的配搭。
Pork neck dinner
猪脖子肉(梅花肉/槽头肉部分)肉质细嫩且带有大理石纹路油脂,非常适合切片炒制。以下为您设计了两套风格不同的二人份组合。
方案一:【家常浓郁组合】—— 咸鲜下饭,油脂均衡
这套组合利用圆白菜的爽脆和猪肉的油脂,配合色彩丰富的蔬菜。
1. 酱香圆白菜炒猪脖子肉
- 食材:猪脖子肉 (250g)、圆白菜 (半个)、胡萝卜 (少量切片)。
- 做法:
- 猪肉切薄片,用生抽、料酒、少许淀粉腌制15分钟。
- 圆白菜洗净撕成大片,胡萝卜切片。
- 热锅凉油,下猪肉片炒至变色盛出。
- 锅留底油,下蒜末、干辣椒(可选)爆香,倒入圆白菜和胡萝卜大火快炒。
- 圆白菜稍稍变软后,加1勺甜面酱(或蚝油)和半勺生抽。
- 倒入肉片合炒均匀,收汁出锅。
2. 清炒西兰花
- 食材:西兰花 (1个)、大蒜。
- 做法:西兰花掰小朵焯水。锅中热油炒香蒜末,倒入西兰花,加盐和鸡精快速翻炒即可。
方案二:【鲜香清爽组合】—— 清脆爽口,健康搭配
这套组合突出芦笋和西兰花的原味,口感更加轻盈。
1. 芦笋胡萝卜炒肉片
- 食材:猪脖子肉 (250g)、芦笋 (250g)、胡萝卜 (1根)。
- 做法:
- 芦笋斜切段,胡萝卜切片。
- 猪肉切薄片,加盐、胡椒粉、橄榄油稍微抓匀。
- 锅中烧水,水开后滴几滴油,放入芦笋和胡萝卜焯水30秒捞出沥干。
- 热锅下肉片滑散炒熟。
- 加入焯好水的蔬菜,加盐、蚝油调味。
- 快速翻炒均匀,保持芦笋的脆嫩。
2. 蒜蓉蒸/炒圆白菜丝
- 食材:圆白菜 (剩余部分)、胡萝卜丝。
- 做法:将圆白菜切细丝,与胡萝卜丝一起用大蒜、香油、生抽拌匀,或简单清炒。
💡 烹饪小贴士
- 猪脖子肉处理:如果油脂较多,可以先下锅煸炒出部分猪油,再用这个油炒配菜,味道会特别香。
- 胡萝卜储备:您有一公斤胡萝卜,可以多切一些丝或片放在冷藏备用,几乎任何炒菜加点胡萝卜都能提升颜色和营养。
- 米饭建议:既然有米饭,炒菜时可以适当多留一点点汤汁(勾薄芡),拌饭效果极佳。
Some interesting Julia codes
Julia is fast, composable, dynamic, general, reproducible and open source. The codes below were taken from https://julialang.org. I found it very illustrating.
Multiple dispatch
struct Dog end
struct Cat end
dog, cat = Dog(), Cat()
meet(a::Dog, b::Dog) = "The dogs play together"
meet(a::Dog, b::Cat) = "The dog chases the cat"
meet(a::Cat, b::Dog) = "The cat hisses at the dog"
meet(a::Cat, b::Cat) = "The cats ignore each other"
meet(dog, cat)
meet(dog, dog)
meet(cat, cat)
Display customization
struct Nutshell{T}
contents::T
end
Base.show(io::IO, n::Nutshell) = print(io, "🥜 ", n.contents, " 🥜")
Nutshell("Julia")
Unicode and math
α, β = .5, .3
f(x) = α * x + β
Σ(v) = reduce(+, v)
Σ(f.(1:5))
Comprehensions
[x^2 for x in 1:5]
Broadcasting
A = [1 2; 3 4]
sin.(A) .+ 1
Dict(c => i for (i, c) in enumerate("julia")
Piping and composition
1:5 |> sum |> sqrt
(sqrt ∘ sum)(1:5) # equiv. above
map(exp ∘ abs, [-1, 2, -3])
Destructuring
(a, b, c) = 1:3
a, c # => (1, 3)
head, tail... = ["first", "second", "third"]
head, tail # => ("first", ["second", "third"])
Metaprogramming
ex = :(1 + 2 * 3)
typeof(ex) # => Expr
eval(ex) # => 7
Easy package install
using DataFrames
# if not installed, prompted for installation, after 'y' answer
df = DataFrame(name = ["Alice", "Bob"], age = [25, 30])
Defaults and keywords args
function greet(name, greeting = "Hello"; punctuation = "!")
"$greeting, $name$puctuation"
end
greet("Julia") # "Hello, Julia!"
greet("world", "Hi"; puctuation = ".") # "Hi, world."
Multi-threading
function fib(n)
n < 2 && return n
t = Threads.@spawn fib(n-2)
return fib(n-1) + fetch(t)
end
fib(10)
Threads.nthreads() # => threads assigned to Julia
Build-in REPL modes
# Default Julia mode, backspace from other modes
# Press ] for package mode
# Press ; for shell mode
# Press ? for helps
# Press $ for R mode, if RCall.jl is installed
Code introspection (simplified)
f(x, y) = x + y
@code_warntype f(1, 2)
@code_llvm f(1, 2)
@code_native f(1, 2)
Running ASReml on Linux
To run ASReml on a Linux system can be very tricky. This software has built its reputation. It then don’t care very much about its custormers. The following valid instructions were after many combination tests. Had you any other alternatives, I would not recommend ASReml, especially on Linux, where most serious computations are carried on nowadays.
The following instructions are to run a cloud instance of AlmaLinux9 one a AlmaLinux 10 system.
Resize root partition on an AlmaLinux OS
Resizing Root Partition on AlmaLinux 10 (LVM + XFS)
Since XFS filesystems cannot be shrunk, increasing the root partition requires backing up the /home partition, deleting it, expanding /root, and then recreating /home.
Prerequisites
- A backup location with enough space (e.g.,
/mnt/w). - Root or sudo access.
Step 1: Backup Home Data
Backup all data from /home to a temporary location.
sudo mkdir -p /mnt/w/home_backup
sudo rsync -aHAX --progress /home/ /mnt/w/home_backup/
Step 2: Unmount and Remove the Home Volume
Ensure no processes are using /home, then unmount it and remove the Logical Volume (LV).
美国即将迎来麻疹大爆发
【按:仓促写就】
麻疹的疫苗相当有效,但是麻疹的 $R_0=12-18$,因此仍需要接种率在 97% 左 右才能达到群体免疫。与此相比,新冠的 $R_0$ 只有3-10,中国放开管制那几 个月新冠的疯狂传播不知道大家是否还有印象。
这两个传染病的死亡率都不高,麻疹 0.1-0.2%,新冠 0.1-1%。但架不住人多。 如果没有疫苗保护,全世界的人死亡 0.1% 也是一个非常恐怖的数字。
麻疹还有另外一个可怕之处就是它能清除人类的免疫记忆。这样即便一个人可以 在感染麻疹后活过来,但他/她要重新建立对各种传染病的免疫。往往在曾经的 免疫恢复前,有相当比例的已经挂了。这些人虽然不是直接死于麻疹,但因为曾 经感染麻疹则脱不了干系。
麻疹疫苗与新冠 (RNA) 疫苗相比是长效的,新冠的疫苗只有半年多的有效期。 因此麻疹疫苗是最好的预防手段。
上世纪有个英国医生在《柳叶刀》上发了一篇文章,说疫苗导致自闭。也不知道 这篇文章最终如何见刊,虽然这篇文章后来被撤下,但危害已经造成。这篇文章 成了近期反疫苗运动的重要背书。当然西方的反疫苗的历史由来已久,以后另文 再说。
美国作为一个先进的发达国家,很早就成为消灭麻疹的国家。但题图可见,这一 届美国政府上台之后,反疫苗的小肯尼迪成了卫生部长,一位反疫苗的医生指导 全国免疫。长期的反疫苗运动终于开花结果,麻疹患者一年比一年多。今年才过 几周,麻疹患者已经接近去年的总数。

前几天有一个 MAGA 游行,人数不少,来自全美各地。后来发现其中有几位当日 感染麻疹,星星之火即将在美国燎原。
Local AI tools
I am not an expert about nodejs. But gemini and copilot cli are written in nodejs. One annoying issue before is that they have to be installed globally which require root privileges. This post shows the step to install them locally.
mkdir -p ~/Music/ai-tools
npm init -y
npm install @google/gemini-cli @github/copilot
cd ~/.local/bin
ln -s ~/Music/ai-tools/node_modules/.bin/gemini .
ln -s ~/Music/ai-tools/node_modules/.bin/copilot .
In the same directory, create a file called update-cli-tools.sh.
PDF to MarkDown
We may have some old documents that are only on paper. The following procedure is to convert them into MarkDown format. The latter can be easily converted to easy to handle PDF files. If you have some graphic card like mine, which is GeForce RTX 3060 Ti, with 12GiB VRAM, or better, you can follow the steps below.
The first step is to scan the papers into a PDF file. Then
Setting up Hugo
Setting up Hugo
Hugo generate static web files. This is how this blog was compiled. Hugo can be installed locally. The generated contents are synchronized to some remote servers.
Setting up the remote
A dedicated folder on my home server was setup to host the compiled hugo files. The details are not shown here.
Setting up the local
sudo dnf install hugo
# in the path where you want to save the blogs
hugo new site blog
cd blog
git init
git add hugo.toml
hugo new content content/posts/hugo.md # this post
touch deploy.sh
git add deploy.sh
- deploy.sh
#!/usr/bin/env bash
hugo && rsync -avz --delete public/ remote:/var/www/blog/
- to deploy
./deploy.sh
$e^{i\pi}+1=0$