diff --git a/org/fedora_contrib.org b/org/fedora_contrib.org
index 1e985da..2a62c23 100644
--- a/org/fedora_contrib.org
+++ b/org/fedora_contrib.org
@@ -52,10 +52,10 @@ yes, deprecated, so I need to change it in my packages
** [[https://lwn.net/Articles/912202][LWN: Packaging Rust for Fedora]]
not mail, but interesting
-* Review Request I'm interested in
-It will be good if I can review for them...
+* BZs I'm interested in
** [[https://bugzilla.redhat.com/show_bug.cgi?id=2183700][Review Request: nim - A statically typed compiled systems programming language]]
** [[https://bugzilla.redhat.com/show_bug.cgi?id=2192986][Review Request: hyprland - Dynamic tiling Wayland compositor that doesn't sacrifice on its looks]]
+** [[https://bugzilla.redhat.com/show_bug.cgi?id=2152222][Update vis editor to 0.8]]
* Footnotes
[fn:1] [[https://acyanbird.github.io/2022/10/15/向EPEL请求新的包][向EPEL请求新的包(群主写的)]]
diff --git a/org/internet_collections.org b/org/internet_collections.org
index c699aca..8c478f3 100644
--- a/org/internet_collections.org
+++ b/org/internet_collections.org
@@ -159,6 +159,9 @@ funny byte
*** [[https://xeiaso.net/blog/🥺][🥺]]
*** [[https://xeiaso.net/blog/HVE-BC1750-0001][HVE-BC1750-0001: Deceptive Information Disclosure Vulnerability in Human Interaction Protocols]]
** [[https://lantian.pub/][蓝天]]
+:PROPERTIES:
+:CUSTOM_ID: lantian
+:END:
大佬!
*** [[https://lantian.pub/article/chat/how-i-nuked-my-btrfs-partition.lantian/][我把硬盘换到了新电脑上,这是 Btrfs 上的数据发生的变化]]
[[https://lantian.pub/usr/uploads/202112/chubbyemu.jpg.thumb.png]]
@@ -591,3 +594,4 @@ BSD asm
** [[https://cohost.org/blackle/post/42994-div-style-pointer][CSS 的机械装置 (from ruanyifeng 252)]]
** [[https://oldcompcz.github.io/jgs/][jgs ASCII art]]
** TODO [[http://retrobase.cn][retrobase 识旧知新]]
+** [[https://www.zzzuckerberg.com][Legal Lullabies]]
diff --git a/org/lua_demo.org b/org/lua_demo.org
new file mode 100644
index 0000000..c5a7037
--- /dev/null
+++ b/org/lua_demo.org
@@ -0,0 +1,67 @@
+#+TITLE: Run a Lua Demo
+#+DATE: <2023-07-25 二>
+#+OPTIONS: \n:nil
+
+Lua is everywhere.
+Neovim uses lua, Vis uses lua; when I visited [[./internet_collections.org::#lantian][Lantian]]'s website[fn:1], it's running [[https://openresty.org/][OpenResty]];
+when I'm [[https://bookfere.com/post/970.html][jailbreaking]] Kindle, it uses a lua script and [[https://github.com/koreader/koreader][Koreader]] uses lua.
+
+So I want to learn a little lua, just enough to handle daily tasks.
+
+I visited lua.org and found the [[https://www.lua.org/cgi-bin/demo][demo]]. The idea of knowing how it works immediately came to my mind.
+By searching on DDG[fn:2] I fount it have a hidden demo program called demo,
+it's just the script for running demo (talk about that later why I'm sure about it).
+
+I copied it and added the essential html in the print block,
+put it on the server, use [[https://man.openbsd.org/slowcgi.8][slowcgi(8)]] to serve it with [[https://man.openbsd.org/httpd.8][httpd(8)]].
+Then I got "No such file or directory".
+I carefully checked the path and permission, but the error still exists
+
+Finally StackOverflow taught me that the execution environment should also
+be located in the chroot environment. For security, chroot is needed.
+Well, just [[https://blog.syndcat.com/?p=181][statically]] link lua[fn:3].
+#+BEGIN_SRC makefile
+MYLDFLAGS= -static
+#+END_SRC
+
+It runs well, but the =-- continue HTML began in shell script= line
+indicates it's not the only file in the CGI application.
+I found the rest of them at [[https://web.tecgraf.puc-rio.br/~lhf/ftp/lua/#demo]] from [[http://lua-users.org/lists/lua-l/][lua-l]] mailing list.
+
+It contains 3 files
+#+BEGIN_EXAMPLE
+ demo the CGI script
+ demo.html the HTML page
+ demo.lua the Lua program that runs user programs
+#+END_EXAMPLE
+The shell script takes =QUERY_STRING= and replace textarea with =$QUERY_STRING.lua=.
+So demo?demo just prints the demo.lua itself in the same directory.
+
+I thought my single-file solution is better because it don't need to fork twice and perform file IO,
+and it can be even better.
+
+I added resource limit according to [[https://www.lua.org/pil/][PIL]] chapter 25 "SandBoxing"
+#+BEGIN_SRC lua
+local steplimit = 100
+local memlimit = 100
+
+local count = 0
+local function step ()
+ count = count + 1
+ if collectgarbage("count") > memlimit then
+ error("DoSer uses too much memory")
+ end
+ if count > steplimit then
+ error("DoSer uses too much CPU")
+ end
+end
+
+debug.sethook(step, "", 100)
+#+END_SRC
+
+source code: https://github.com/dongdigua/demo.lua
+
+* Footnotes
+[fn:1] I found his page all empty so I sent him an email, he quickly fixed it.
+[fn:2] DuckDuckGo, not DongDiGua
+[fn:3] If =make freebsd= don't work, try =make generic=
diff --git a/org/my_timeline.org b/org/my_timeline.org
index 2903fa2..9c44964 100644
--- a/org/my_timeline.org
+++ b/org/my_timeline.org
@@ -22,6 +22,7 @@
** [[https://github.com/dongdigua/configs/tree/main/kernel][定制 Linux Kernel]] :git:
* 2022 春, 暑假
+** 2022.4 开始使用 emacs
** 2022.4 [[https://github.com/dongdigua/a_docker_site][尝试 Docker]] :git:
** 2022.5 创建博客 dongdigua.github.io :git:blog:
** 2022.5 学习 Rust
diff --git a/org/nanopi_freebsd.org b/org/nanopi_freebsd.org
index 2743be8..715b08a 100644
--- a/org/nanopi_freebsd.org
+++ b/org/nanopi_freebsd.org
@@ -188,7 +188,7 @@ samba 分为 smbd, nmbd, winbindd.
所以这使我必须得用 port 精简功能了.
然后解压 ports tree 的时候死机了, 拔电然后文件系统坏了...
-还是 NFS 吧, 反正我又不用 Windows.
+还是 NFS 吧, Need For Speed, 反正我又不用 Windows.
至于权限, -mapall=freebsd 就行
* LED
@@ -228,6 +228,16 @@ load_rc_config $name
run_rc_command "$1"
#+END_SRC
+* obhttpd
+OpenBSD 的软件向来很棒!
+httpd 其实算是一个比较年轻的软件, [[https://www.openbsd.org/papers/httpd-asiabsdcon2015.pdf][这里]]有关于为什么 OpenBSD 要自己做一个 Web Server 的历史
+重载配置:
+#+BEGIN_SRC sh
+sudo pkill -HUP obhttpd
+#+END_SRC
+
+(slowcgi 很重要的一点: 如果用 chroot 也需要把运行时等一切文件都放在里面)
+
* Ref
- [[https://feng.si/posts/2019/06/freebsd-and-risc-v-the-future-of-open-source-iot-ecosystem/][FreeBSD 与 RISC-V: 开源物联网生态系统的未来]]
diff --git a/posts.md b/posts.md
index 8445a42..eadac3f 100644
--- a/posts.md
+++ b/posts.md
@@ -1,5 +1,6 @@
## Table of Contents
### Posts (sorted by time)
+- [2023-07-25 : Run a Lua Demo](lua_demo)
- [2023-07-10 : 在 NanoPi R2S 上运行 FreeBSD](nanopi_freebsd)
- [2023-06-08 : Org: Disable Gnus Loading when Org is Loaded](gmi/org_load_gnus_disable.gmi.txt)
- [2023-06-07 : Org Preserve Source Bock Highlighting when Exporting Non-Interactively](org_export_highlight)