Home
I am Rong “Mantle” Bao. Welcome to my blog, where I bake all my potatoes.
Read my recent posts or browse by tag, and meet some of my friends.
Some deployed web apps:
- Periotris.js (repository): Variant of Tetris based on the periodic table of elements.
- LA32R Instruction Statistics (repository): Count instructions in LoongArch32 Reduced binaries.
- Y Chip Area Visualizer (repository): Visualize Yosys
stat
reports.
Read about JavaScript usage on this site.
Recent 15 posts
-
WSL2 上使用 Canokeys 踩坑
本文可供大多数需要将USB设备直通至WSL2虚拟机内的场景参考,并不局限于Canokeys或USB智能卡等话题。 WSL2支持使用usbipd-win实现USB设备直通,可以较为方便地将OpenPGP智能卡直通至虚拟机内供GPG使用,配置方法推荐阅读微软的文章。一般而言,出现类似以下的输出,即可认为USB直通配置正确: $ lsusb […] Bus 001 Device 005: ID 20a0:42d4 Clay Logic CanoKey Canary […] 但是即...
-
JavaScript usage on csmantle.top
The main blog site does not use JavaScript for any critical functions. Features that requires JavaScript: Comments by https://utteranc.es/ Broken link converter on 404.html Web apps deployed under their own path prefixes If you don’t ne...
-
When spaces break your CreateProcess (and how to fix it)
The username on my Windows laptop contains a space (“ ”). This little character is known to cause dozens of software problems, and most of them are attributed to the existing codebase which does not properly quote file paths. Recently this space ...
-
Numbers as expressions
A while ago, I saw an interesting post from a Telegram channel I subscribed to. Briefly, it said: With these constants defined… const a = -3 / 80; const e = 1; const f = 5; const g = 8 / 3; const h = 9 / 10; const i = 1; const l = 11 / 3; c...
-
Building chart database for AstroDX: Revisited
See the previous article for a list of needed tools and supplementary tutorials. The first step is, as always, obtaining a copy of original game image. If you have an “.app” file, refer to this awesome post to decrypt it into a mountable VHD. A...
-
When to use Seq or Vec in Chisel?
Use Seq if you just need a Scala array or container. Use Vec if you want a multiplexer. scala.collection.immutable.Seq is purely a Scala-land concept. You can index into it via a Int thanks to its apply function. chisel3.Vec is a hardware contai...
-
Have fun decoding in Chisel
0. Introduction Decoders are everyday components in digital logic designs. Maintaining large, complex decoding circuits can be challenging in vanilla SystemVerilog. Today, we are exploring the utilities provided by chisel3.util.experimental.decod...
-
Finite state machine pitfalls with Chisel: Revisited
A while ago, I wrote about how Chisel’s early optimization breaks common heuristics used by other tools to detect finite state machine patterns. Here is its workaround. Instead of following Chisel’s “advised way”, you need to wrap every next stat...
-
You can’t eliminate useless stack allocations in Rust
The shiny “language of the year” lacks such an important and widely-used feature.
-
HGAME 2025 命题小记 - WEEK2
阅读赛题源码和研究writeup同样重要。(第二部分)
-
HGAME 2025 命题小记 - WEEK1
阅读赛题源码和研究writeup同样重要。(第一部分)
-
A parser for LoongArch instruction encoding table
Turn an AsciiDoc table of LoongArch instruction encodings into a machine-readable format.
-
Much ado about nothing
There’s quite a lot to say about doing nothing.
-
Achilles’s heel of Nushell
Gradual typing is not an excuse for inexpressibility.
-
翻译:《我的电动牙刷坏了,所以我试着重启它》
原标题:My electric toothbrush was acting up, so I tried to reboot it 作者:Raymond Chen 地址:https://devblogs.microsoft.com/oldnewthing/20250128-00/?p=110815 我的电动牙刷坏了。互联网告诉我,我需要重启的我的电动牙刷。 放在40年前,上面最后一句话绝对没有人听得懂。 我的一个参与了USB标准研发的朋友有次给我发邮件,说:“...
- ... See all posts organized by tag.
Subscribe via RSS